Мне нужно выяснить простые множители более 300 миллиардов. У меня есть функция, которая добавляет их к списку ... очень медленно! Он работает уже около часа, и я думаю, что ему достаточно пройти до сих пор. Я делаю это совершенно неправильно или этого ожидают?
Изменить: я пытаюсь найти самый большой простой фактор числа 600851475143.
Изменить: Результат:
{
List<Int64> ListOfPrimeFactors = new List<Int64>();
Int64 Number = 600851475143;
Int64 DividingNumber = 2;
while (DividingNumber < Number / DividingNumber)
{
if (Number % DividingNumber == 0)
{
ListOfPrimeFactors.Add(DividingNumber);
Number = Number/DividingNumber;
}
else
DividingNumber++;
}
ListOfPrimeFactors.Add(Number);
listBox1.DataSource = ListOfPrimeFactors;
}
}