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