#include<stdio.h> int isprime(int x); int main() { int m,n,x,sum=0; scanf("%d%d",&m,&n); if(m<0||n<0||n==m)return -1; if(m>n) //交换数值 { m+=n; n=m-n; m=m-n; } for(x=m;x<=n;x++) if(isprime(x))sum+=x; printf("%d\n",sum); return 0; } //利用素数的性质特点,从偶数和奇数方向分别排除掉不是素数的数 int isprime(int x) { int i=0; if(x==2) return 1; //2是素数中唯一的偶数,先挑出来 else if(x<2||x%2==0) return 0; //小于2的数或者偶数都不是素数 else //奇数只能被奇数整除,且整除它的数中最大不大于它的一半(除它本身以外) { for(i=3;i<=x/2;i+=2) if(x%i==0) return 0; } return 1; //剩下的就是素数 }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:689 |
震宇大神的杀毒软件 (C语言代码)浏览:1348 |
回文数(一) (C语言代码)浏览:809 |
Pascal三角 (C语言代码)格式错误浏览:551 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:701 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:866 |
Tom数 (C语言代码)浏览:581 |
数组输出 (C语言代码)浏览:749 |
链表数据求和操作 (C语言代码)浏览:1035 |