По какой-то причине мое последнее простое (int prime) не появляется в конце. Любая подсказка? fyi: primeEval обозначает флаг, если концы цикла & & primeEval == 2, число фактически является простым числом. qty означает количество подсчитанных чисел.Реализация счетчика простых чисел
int main(){
long primeEval=0,prime=0,qtyprime=0;
time_t timerr=(time(NULL)+10);
for (int i = 2; time(NULL)!=timerr; i++) {
for (int j = 1; j <= i; j++) {
if((i%j)==0 && primeEval<2){
primeEval++;
if (i==j && primeEval==2) {
qtyprime++;
prime=i;
primeEval=0; // Resets for the next number 'i'
}
}
}
}
cout << "last prime found: " << prime << endl << "Ttal primes found: " << qtyprime;
}
Это *** не *** C – Eregrith
можно легко повысить производительность за счет изменения 'J <= i' для' J <= SQRT (я) '. Это приведет к увеличению количества изменений, но будет работать быстрее. –
Что значит, что это не отображается? Как будто это дает неправильный номер? не печатать вообще? –