素数
#include <stdio.h>#include <math.h>
int main()
{
int n, i, k, sum;
printf("请输入n值(n>=2且n<1000):");
scanf("%d", &n);
for(n = 2; n < 1000; n++)
{
for(i = 2; i < sqrt(998); i++)
{
if(n % i == 0)
{
break;
}
else
{
k = n;
sum += k;
}
}
printf("%d", sum);
return 0;
}
}
求n到1000所有素数的和,n>=2,n<1000.我写的哪里错了 您好!要判断一个数是否为素数,只需要判断它能否被2到sqrt(n)之间的任意数整除,如果都不能整除,那么这个数就是素数。
下面是一个判断素数的完整代码:
#include<stdio.h>
#include<math.h>
int isPrime(int n)
{
if(n < 2)
return 0; // 小于2的数都不是素数
int i;
for(i = 2; i <= sqrt(n); i++)
{
if(n % i == 0) // 能被i整除,说明不是素数
return 0;
}
return 1; // 没有被任何数整除,说明是素数
}
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d", &n);
if(isPrime(n))
printf("%d是素数\n", n);
else
printf("%d不是素数\n", n);
return 0;
}
希望对您有帮助!如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]