簡體   English   中英

計算pi的前n位?

[英]Calculate the first n digits of pi?

嗨,我正在嘗試編寫代碼計算 pi 的前 n 位數字

using System;
using System.Numerics;
namespace PiCalculator
{
    
    class Program
    {
        
        static void Main(string[] args)
        {
            System.Decimal.Precision = 5;
            Console.WriteLine("How Many Digit?");
            int n = Convert.ToInt32(Console.ReadLine());

            decimal pi = 0;
            decimal t = 0;
            decimal deno = 0;
            int k = 0;

            t=1*(Factorial(1))*(13591409+545140134*k);
            deno = ((decimal)Factorial(3*k))*((decimal)Math.Pow((double)Factorial(k),3))*((decimal)(Math.Pow(640320,(3*k))));
            pi += t/deno;
            pi = pi * 12 / (decimal)Math.Pow(640320,1.5);
            pi = 1/pi;

            Console.WriteLine(pi);
        }

        // Factorial fonksiyonu
        static decimal Factorial(int n)
        {
            if (n == 0)
                return 1;

            return n * Factorial(n - 1);
        }
    }
}

我是 C# 的新手,我需要有關設置 Decimal.Precision 的幫助,請幫忙。

我正在嘗試計算 n 個 pi 並將其寫入。

代碼可以計算,但我不知道如何寫出這個計算結果的n個數。

可以寫出pi從0到n的substring:

替換: Console.WriteLine(pi);

使用: Console.WriteLine(pi.ToString().Substring(0, (n > 1)? n + 1: n));

n + 1 邏輯增加了從小數點“.”開始的字符數。 不算作數字。 注意僅當用戶指定超過 1 個數字(n > 1)時才增加 1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM