永发信息网

求出1到n中所有的素数,并计算这些素数的总和

答案:1  悬赏:60  手机版
解决时间 2021-11-26 03:42
  • 提问者网友:听门外雪花风
  • 2021-11-25 05:07
求出1到n中所有的素数,并计算这些素数的总和
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-11-25 05:17
素数是只有1和它本身,没有其他因数的数。换句话说,就是用所有小于n但大于1的数去除n,均无法整除,那n就是素数。一般的,也没必要一定要循环使用到n-1,只要用小于√n的数就可以了。

代码示例如下:
bool isPrime(long n) {
    int i=0;
    if (n <= 3) {
        return n > 1;
    } else {
        for (i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
    }
    return true;
}

int main(){
    long n = 0;
    long i = 0;
    long count = 0;
    bool isPrime = false;
    scanf("输入n的值:", &n);
    for(i=1;i<=n;i++){
        isPrime = isPrime(i);
        if(isPrime){
            printf("%d是素数
", i);
            count = count + i;
        }
    }
    printf("1到%d中所有素数的和为:%d", n, count);
    return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯