求素数怎么求?

来源:百度知道 编辑:UC知道 时间:2024/06/12 01:03:15
昨天考二级,有个编程题,说输入一个整数,求3到这个整数之间所有素数的和,我不知道怎么写这个程序,写了好几个都不对,连编译都通不过,不知道高手有没有空帮帮我,谢谢!!!

//欢迎在线讨论
#include <stdio.h>
#include <math.h>
void main()
{
int m,i,k,x,h=0,leap;
scanf("%d",&x);
for(m=3;m<=x;m++)
{
leap=1;
k=(int)(sqrt(m+1));
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;}
if(leap)
{
printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
}
printf("\nThe total is %d\n",h);
}

#include <stdio.h>
void main()
{
int m, n = 0;
scanf("%d", &m);
for(int i = 2; i <= m; i++)
{
if(m % i == 0 && m > 2) //说明m不是素数,判断下一个数
{
m--;
i = 1;
}
else if(i == m - 1 && m != 2) //说明m是素数
{
n = n + m;
m = m - 1;
i = 1;
}
}
printf("%d", n);
}
//上面的代码:如果输入的数是素数,在求和的时候,包括输入的数,且是用一个for循环和一个if循环实现的