我正在尝试查找 5915587277 是否为素数。 这个数字实际上是质数,我希望我的程序能做到这一点。 当我运行这个程序时,它说它不是素数,它的除数是 199。
#include<stdio.h>
int main()
{
long n = 0;
long i = 0;
printf("Enter Number: ");
scanf("%ld", &n);
long m = n/2;
if(n%2 == 0)
{
printf("Not Prime");
return 0;
}
for( i = 3; i <= m; i++)
{
if(n%i == 0)
{
printf("Not Prime: %d\n", i);
return 0;
}
}
printf("Prime");
return 0;
}
我不确定为什么这段代码将这个数字打印为非质数。
最佳答案
您长时间超出了最大值。请参阅Data type limits .
关于c - 判断给定的数字是否是质数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145906/