如何用编程计算1到10之间的所有素数之和

2025-03-01 01:33:21
推荐回答(2个)
回答1:

设计思想如下:

  1. 定义变量n

  2. 通过键盘输入数的范围n

  3. 遍历2到n,并判断每个数是否是质数

  4. 将判断出来的质数累加到sum上

  5. 输出sum

#include 
#include 
/*判断n是否为质数*/
int prime(int n)
{
    int flag = 0;
    for(int i = 2;i < n;i ++)
    {
        if(0==n% i)    {
            flag = 1;
            break;
        }
    }
    if(flag == 0)    return n;
    return 0;
}
int main(int argc, char const *argv[])
{
    int sum = 0;
    int n=0;
    scanf("%d",&n);
    for(int i = 2;i <= n;i ++)
        sum+=prime(i);
    printf("sum=%d\n", sum);
    return 0;
}

运行结果:

5

sum=10

回答2:

#include 
#include 
/*判断n是否为质数*/
int prime(int n)
{
    int k = sqrt(n);
    int flag = 0;
    for(int i = 2;i <= n;i ++)
    {
        if(n%i == 0 && i != n && i != 1)    flag = 1;
    }
    if(flag == 0)    return n;
}
int main(int argc, char const *argv[])
{
    int i, s = 0;
    for(i = 2;i < 11;i ++)
        s+=prime(i);
    printf("%d\n", s);
    return 0;
}