Я решаю problem 25 на Project Euler. Я написал код для него в C#. Однако в этом случае мне нужно было использовать «BigInt», поскольку Int64 не был достаточно большим, чтобы удерживать номер. Но, когда я помещаю using System.Numerics;
, он дает сообщение об ошибке во время компиляции (сообщение в заголовке). Почему это? Я использую Mono 2.10.9.Тип или имя пространства имен 'Numerics' не существует в пространстве имен 'System'
Мой код:
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);
}
}
Появляется сообщение об ошибке: «Ошибка CS0006: Файл метаданных« System.Numerics.dll »не найден.» – Stormboy
Я думаю, что часть «или обновления» применяется. Меня устраивает. (Ubuntu Raring) – sehe
Должен использовать dmcs, который предназначен для профиля .NET 4, http://www.mono-project.com/CSharp_Compiler –