#include<stdio.h> #include<math.h> /* 有多组测试样例,输入直到文件末尾。*/ /*求素数之和,输出内容为a,b之间(不含a,b)所有素数的和*/ int main() { int a,b; while(scanf("%d %d",&a,&b)!=EOF)//输入直到文件末尾 { if(a>b)//如果a大于b,则将a与b交换 { int temp; temp=a; a=b; b=temp; } int sum=0;//每次素数和都要重新计数 for(int i=a+1;i<b;i++)//保证输出的内容不包括a和b { int flag=0; int j=(int)sqrt(i); for(int k=2;k<=j;k++) { if(i%k==0) { flag=1;//如果不是素数flag=1 break;//退出循环 } } if(flag==0&&i!=1)//如果是素数 { sum+=i;//加上该素数 } } // if(a==0) // { // sum=sum-1; // } printf("%d\n",sum); } return 0; } |
Double click to view unformatted code.