1 #include<stdio.h> 2 int main(){ 3 int i,j,a,b,c,m,s; 4 long int sum,t[201]; 5 scanf("%d %d",&a,&b); 6 if(b<a){ 7 c=a;a=b;b=c; 8 } 9 m=1; 10 for(i=2;i<1224;i++){ //i要大于等于第200个质数// 11 for(j=2,s=0;j<i;j++){ 12 if(i%j==0){ 13 14 s=s+1; 15 } 16 } 17 if(s==0){ 18 t[m]=i;m=m+1; 19 } 20 } 21 for(i=a,sum=0;i<=b;i++){ 22 sum=sum+t[i]; 23 } 24 printf("%ld",sum); 25 return 0; 26 }
#i已知,第一个质数是2,第二个质数是3,第三个质数是5,第四个质数是7,
第五个质数是11,第六个质数是13,第七个质数是17,输入两个不相等的
正整数a和b,求出第a个质数到第b个质数当中所有质数和。a和b之间以空格
间隔,其中a和b都小于200。
输入1:
1 4
输出1:
17
输入2:
7 2
输出2:
56
狒狒有话说:注意a,b所代表的含义,它们是序号而不是质数本身;而代码中的i则是质数本身。因此当b=200时,即要获取第200个质数是,i作为质数本身是远远大于200的