程序:
#include<stdio.h>
#include<math.h>
int prime(int p); int main() {
int m,n,i;
int sum = ;
int count = ;
scanf("%d %d",&m,&n);
for(i = m; i <= n; i++) {
if(prime(i)) {
sum += i;
count++;
}
}
printf("%d %d",count,sum);
} int prime(int p) {
int isPrime = ;
int i;
if(p < ) {
isPrime = ;
} else {
for(i = ; i <= (int)sqrt(p); i++) {
if(p % i == ) {
isPrime = ;
break;
}
}
}
return isPrime;
}
判断质数的函数一定要单独写。
另外,注意两个边界条件:
1、1不是质数,单独考虑
2、判断质数时,除数的条件:i <= (int)sqrt(p)
我的程序,耦合度高,而且有两个测试用例通不过
#include<stdio.h>
#include<math.h> int main() {
int m,n,t,p,flag;
int sum = ;
int count = ;
scanf("%d %d",&m,&n);
t = m;
while(t <= n) {
p = ;
flag = ;
while(p <= (int)sqrt(t)) {
if(t % p == ) {
flag = ;
break;
}
p++;
}
if(flag == ) {
sum += t;
count++;
}
t++;
}
printf("%d %d",count,sum);
}