赞
踩
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
/*我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
思路:是先将1至200个素数存到数组primes中,然后根据输入的 m和n相加求和*/
- #include<stdio.h>
- int main(){
- int q=0,n,m,cnt=1,x,i,primes[200]={2},flag;
- scanf("%d %d",&n,&m);
- for(x=3;cnt<200;x++){
- flag=1;
- for(i=0;i<cnt;i++)
- if(x%primes[i]==0)
- {
- flag=0;
- break;
- }
- if(flag)
- primes[cnt++]=x;
- }
-
- for (i=n-1;i<m;i++)//指定的从第n个素数加到第m个素数
- q+=primes[i];
- printf("%d",q);
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。