有两个测试点过不去,朋友们看看咋解决啊?
代码如下:
#include
int main(void)
{
int m,n;
int count=0,sum=0;
scanf("%d %d",&m,&n);
int i;
for(i=m;i<=n;i++){
int j = 2;
int flag = 1;
for(j;j-1;j++){
if(i%j == 0){
flag = 0;
break;
}
}
if(flag){
count++;
sum += i;
}
}
printf("%d %d",count,sum);
return 0;
}
修改如下,供参考:
#include <stdio.h>
int main(void)
{
int m, n;
int count = 0, sum = 0;
scanf("%d %d", &m, &n);
int i;
for (i = m; i <= n; i++) {
//int j = 2; 修改
int flag = 1;
for (int j = 2; j < i; j++) { //for (j; j < i - 1; j++) 修改
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag && i != 1) { //if (flag) 修改 排除 1 不是素数
count++;
sum += i;
}
}
printf("%d %d", count, sum);
return 0;
}
对m==n的情况单独判断一下
不知道你这个问题是否已经解决, 如果还没有解决的话: