当我为Project Euler解决问题时,它让我总结了200万以下的所有素数.这是我的代码:
#include<stdio.h>
#include<math.h>
int isPrime(int);
int main() {
long long int sum = 0;
int i; // index
for(i = 2 ; i < 2000000 ; i++) {
if(isPrime(i)) {
sum += i;
}
}
printf("%lli\n", sum);
}
int isPrime(int num) {
int i; // index
int sq = sqrt(num);
for(i = 2 ; i <= sq ; i++) {
if(num % i == 0) {
return 0;
}
}
return 1;
}
Run Code Online (Sandbox Code Playgroud)
此代码导致正确答案,142913828922.但是,当我将for循环更改为isPrime():
for(i = 2; …Run Code Online (Sandbox Code Playgroud)