Оптимизация алгоритма - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д