素数和 翁恺老师C语言程序设计CAP第5章编程题

题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

注意:是第n个素数到第m个素数,不是n和m之间的素数!

输入格式:

两个正整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:500ms  内存限制:32000kb
#include<stdio.h>

int main()
{
    int n,m;
    scanf("%d %d",&n,&m);

    int x=2;//除数 
    int cnt=0;//计数 
    int i;//被除数 
    int sum=0;//所有数相加 

    do{
        int isprime=1;
        for(i=2;i<x;i++){
            if(x%i==0){
                isprime=0;         //一直在计算素数。 
                break;
            }
        }
        if(isprime==1){
            cnt++;
            if(cnt>=n&&cnt<=m){   //揪出题目要求的素数。 
                sum+=x;             //要求的素数相加。 
            }
        }
        x++;
    }while(0<cnt&&cnt<=200);

    printf("%d\n",sum);

    return 0;
}

猜你喜欢

转载自www.cnblogs.com/hangzhou2seattle/p/9501241.html