4
나는 1000생성 벨 수 알고리즘
벨 수는 거대하고 난 ULONG에 저장할 수 없습니다 500 사이의 큰 값에 대한 n 번째 벨 번호를 생성하는 것을 시도하고있다.
내가 수를 계산하는 삼각 방법을 시도 :은 (http://en.wikipedia.org/wiki/Bell_number 알고하려면 수는 벨).
거대한 숫자를 저장하고 작업을 수행하는 방법을 알려줄 수 있습니까? 여기
은 동일하게 계산하는 빠른 방법이 있다면 내가using System;
class Program
{
static void Main(string[] args)
{
int length;
do
{
length =-1;
string numLength= Console.ReadLine();
if (int.TryParse(numLength, out length))
{
Console.WriteLine("Sequence length is : {0}",
TriangularMethod(length));
}
}while(length>0);
}
static ulong TriangularMethod(int n)
{
Dictionary<long, List<ulong>> triangle =
new Dictionary<long, List<ulong>>();
triangle.Add(1, new List<ulong>(new ulong[] { 1 }));
for (int i = 2; i <= n; i++)
{
triangle.Add(i, new List<ulong>());
triangle[i].Add(triangle[i - 1].Last());
ulong lastVal = 0;
for (int k = 1; k < i; k++)
{
lastVal = triangle[i][k - 1] + triangle[i - 1][k - 1];
triangle[i].Add(lastVal);
}
triangle.Remove(i - 2);
}
return triangle[n].Last();
}
}
을 쓴 코드입니다. 제발. 네임 스페이스에