解题思路:由于素数是指在大于1的自然数中,除了1和它本身以外不再有其它因数的自然数,所以我们要让每一个范围内的数都要判断一下是不是素数,让这个数与除了1且比它小的数求余,若遇到求余之后等于0,就跳出for循环,再判断使它等于0的数是不是它本身,如果是他本身的话,那么这个数就是素数,否则就不是。
注意事项:了解素数的概念。
参考代码:
#include<stdio.h>
void fun(int x,int y){
int add=0;
int i,j;
for(i=x;i<=y;i++){
for(j=2;j<=i;j++){//从2开始判断这个数值内的所有数求余之后,等于0就跳出
if(i%j==0)
break;
}
if(i==j)//如果求余之后的数(除了1)是他本身,那么这个数就是素数
add++;
}
printf("%d",add);
}
int main()
{
int X,Y;
scanf("%d %d",&X,&Y);
fun(X,Y);
return 0;
}
0.0分
4 人评分
#include<stdio.h> void fun(int x, int y) { int i,b; int w = 0; for (i = x; x <= y; i++) { for (b = 2; b <= i; b++) { if (i % b == 0) break; } if (i == b) { w = w + 1; } } printf("%d", w); } int main() { int x; int y; scanf("%d %d", &x,&y); fun(x, y); return 0; } 有没有大佬帮忙看一下,为什么显示内存超了呢?求解释