更新时间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)
且能整除,就不是素数了
还有其它错,以下是改好的部分,参考
上一篇:c语言编程题求解谢谢(初学者)
下一篇:c++分数求和的问题