题目描述
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数。
注意:1.素数是除1以外只能被自身整除的自然数;
2.记住1不是素数、不是素数、不是素数!
测试数据为 2 3
输出 5
大部分人 可能没考虑到 你写的代码 把1这个数算进去了,
如果测试数据 1 10
正确答案 17
你的答案 18
希望能帮助到这种问题的人
源码:(使用请明确出处)
include <stdio.h>
int isprime(int x,int y){
int i,j,a=0; for(i=x;i<=y;i++){ int count=0;//每一次循环都把count的值重置为0。 if(i==1){//如果是1的话,直接令count非0,这样后面就不会加上1; count++; } for(j=2;j<i;j++){//判断这个数与(1和它本身之间的数)求余运算,如果等于0说明它不是素数; if(i%j==0){ count++;//不是素数,令count非0; } } if(count==0){//判断count的值,如果是0,则是素数,然后进行加法运算; a+=i; } } return a;//返回a的值。
}
int main(void)
{
int a,b,c; scanf("%d%d",&a,&b); c=isprime(a,b);//这里直接调用函数; printf("%d\n",c);//输出。 return 0;
}