mooc-程序设计入门-c语言-素数和

素数和(5分)

题目内容:

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

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

输入格式:

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

输出格式:

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

输入样例:

2 4

输出样例:

15

程序:

#include <stdio.h>
#include <math.h> 
int isPrimeFun(int x) {
    int temp = sqrt(x);
    int i, isPrime = 1;
    if(x == 1){
        isPrime = 0;
    } 
    for(i = 2; i <= temp; i++) {
        if(x % i == 0) {
            isPrime = 0;
        }
    }
    return isPrime;
}
int main() {
    int m, n, sum = 0, index = 1;
    int x = 2;
    scanf("%d %d", &n, &m);
    while(index <= m) {
        if(isPrimeFun(x)) {
            if(index >= n && index <= m) {
                sum = sum + x;
            }
            index += 1;
        }
        x += 1;
    }
    printf("%d", sum);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/suxiaorui/article/details/84887713