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);
}
}