3

Project Eulerの問題 25を解いています。そのためのコードを C# で書きました。ただし、この場合、Int64 は数値を保持するのに十分な大きさではなかったため、「BigInt」を使用する必要がありました。しかし、 を入れると、コンパイル中にエラーメッセージが表示されます (タイトルのメッセージ)。どうしてこれなの?Mono 2.10.9 を使用しています。using System.Numerics;

私のコード:

using System;
using System.Numerics;

public class Problem_25{
    static BigInt fib(int n){
        double Phi = (1+Math.Sqrt(5))/2;
        double phi = (1-Math.Sqrt(5))/2;
        BigInt an = Convert.BigInt((Math.Pow(Phi, n)-(Math.Pow(phi, n)))/Math.Sqrt(5));
        return an;
    }
    static void Main(){
        int i = 100;
        int answer = 0;
        string current_fn = "1";
        while(true){
            current_fn = Convert.ToString(fib(i));
            if(current_fn.Length == 1000){
                answer = i;
                break;
            }
            else{
                i++;
            }
        }
        Console.WriteLine("Answer: {0}", answer);
    }
}
4

2 に答える 2

3
mcs -r:System.Numerics.dll main.cs

man mcsあなたに栄誉を与えるべきです。

dmcsモノのバージョンによっては、使用および/またはアップグレードしたい場合があります。

ああ、BigIntegerそうじゃないBigInt

于 2013-08-05T20:36:33.913 に答える