Оптимизация алгоритма - C# (237419)
Формулировка задачи:
Добрый день. Написал код на C#, для вычисления, к примеру 2^(1 000 000 000). Ясно, что работа с BigInteger. Код работает, для числа, к примеру 2^(1 000 000) время вычисления пару минут. А для нужного числа 2 в миллиардной степени за ночь не вычислилось. Как оптимизировать этот код, чтобы быстрее шли вычисления?
З.Ы. на C++ не пинать. я понимаю, что на С++ вычисления быстрее, но я не знаю С++, поэтому хотелось бы реализовать вычисления на C#...
Спасибо!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Numerics;
using System.IO;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
BigInteger x = BigInteger.Pow(2, 1000000000);
string s = x.ToString();
string temp_string = s;
temp_string = temp_string.Replace("nen", "");
BigInteger a = temp_string.Length;
Console.WriteLine(x);
Console.WriteLine("Количество цифр в числе" + a);
StreamWriter sw = new StreamWriter("output.txt", true);
sw.Write(x + "\r\n" + "Количество цифр в числе " + a);
sw.Close();
Console.ReadLine();
}
}
}Решение задачи: «Оптимизация алгоритма»
textual
Листинг программы
BigInteger x = BigInteger.Pow(2,1000000000);