Какой более эффективный способ найти сумму основных чисел?C#

Место общения программистов C#
Ответить
Anonymous
 Какой более эффективный способ найти сумму основных чисел?

Сообщение Anonymous »

Я работаю над программой, которая отслеживает количество времени, необходимое для того, чтобы получить сумму всех основных чисел до определенного числа, и пытаюсь найти наиболее эффективный способ получить это значение, так как у меня есть секундомер (System.diagnostics) Отслеживание, сколько времени это занимает. В настоящее время я могу найти сумму всех основных чисел до 40 000 примерно за 33-34 секунды с приведенным ниже кодом: < /p>

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»