Код: Выделить всё
private void ListThePrimes()
{
prime = false;
while (primes < 30000)
{
for (int i = 2; i < n; i++)
{
output = n % i;
if (output == 0)
{
primeNum = i;
prime = false;
break;
}
else
{
prime = true;
}
}
if (prime == true)
{
sum += primeNum;
primes++;
}
n++;
}
}
< /code>
Однако я чувствую, что есть способ более эффективно написать этот код, так как моя цель состояла в том, чтобы достичь того же количества времени с гораздо более высокими числами, как 200 000 или около того. Это мой код секунды, который я выполняю на кнопке, нажимая, если необходимо: < /p>
var timer = new Stopwatch();
timer.Start();
ListThePrimes();
timer.Stop();
TimeSpan timeTaken = timer.Elapsed;
string foo = timeTaken.ToString(@"m\:ss\.fff");
MessageBox.Show("The sum is " + sum + ". It took this program " + foo + " seconds to run.");
Подробнее здесь: https://stackoverflow.com/questions/645 ... me-numbers
Мобильная версия