무한 반복을 사용하여 pi를 계산하기 위해 다음 프로그램을 C#에서 작성하려고 시도했지만 정수/이중/소수 구분에 대해 계속 혼란 스럽습니다.C#에서 무한 시리즈를 사용하여 파이 계산하기
정말 작동하지 않는 이유가 없으므로 강하게 입력 된 자료에 대한 이해가 부족하여 C#을 배우고 있습니다.
미리 감사드립니다. 당신은 정수 또는 고정 정밀도 재무 계산에 더 적합하다 둘 다 int
및 decimal
를 사용하고 있기 때문에
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int Main(string[] args)
{
int numeratornext = 2;
int denominatornext = 5;
decimal findto = 100.0M;
decimal pi = 0.0M;
decimal halfpi = 1.0M;
int seriesnum = 1;
int seriesden = 3;
for (int i = 0; i < findto; i++)
{
halfpi += Decimal.Divide((decimal)seriesnum, (decimal)seriesden);
//System.Console.WriteLine(Decimal.Divide((decimal)seriesnum, (decimal)seriesden).ToString());
seriesnum *= numeratornext;
seriesden *= denominatornext;
numeratornext++;
denominatornext += 2;
}
pi = halfpi * 2;
System.Console.WriteLine(pi.ToString());
System.Console.ReadLine();
return 0;
}
}
}
당신은 진수 형식이 아닌 경우 신속하게 문제로 실행하려고 당신이 숫자를 다 쓸 것이기 때문에 무한 정밀도. – staticsan
"무한 재귀"는 무한 크기의 스택이 거의 필요합니다. 내 머리 꼭대기에서 이걸 지원하는 아키텍처에 대해 잘 알지 못한다 :-) – paxdiablo
코드에서이 웹 페이지에 액세스하여 100 만 자릿수의 "수확"을 고려할 수 있습니다. 또는이 기사에는 C# 코드가 있습니다. http://www.omegacoder.com/?p=91 – BillW