首页 > 电脑

求助,题目是要求输入n,输出3到n里面所有素数的和

更新时间2018-11-15 17:19:48

为什么我的无论如何都是错的??

#include <iostream>

#include <stdio.h>

using namespace std;

 

int main()

{

   int a[100],n,i,k,l,m,sum;

   scanf("%d",&n);

   for(k=3,l=0;k<=n;k++)

     for(i=k;i>=2;i--)

    {

    if(k%i==0)

       {

        a[l]=i;

        l++;

       }

    }

    for(m=0;m<=l;m++)

        sum=sum+a[m];

   printf("%d",sum);

 

    return 0;

}


你计算素数的方法完全不正确,

首先循环不对,   for(i=k;i>=2;i--)

i初始值为k,那么k%i就是0啊.(任何数取自己肯定余数是0)

且能整除,就不是素数了

还有其它错,以下是改好的部分,参考

求助,题目是要求输入n,输出3到n里面所有素数的和


上一篇:c语言编程题求解谢谢(初学者)

下一篇:c++分数求和的问题