【发布时间】:2015-03-25 15:40:04
【问题描述】:
long long int chkPrime(long long int z)
{
int i;
if(z==1)
return 0;
if(z==2)
return 1;
for(i=2;i<=z/2;i++)
if(!(z%i))
return 0;
return 1;
}
【问题讨论】:
-
也许你想在这篇文章中添加一个问题。
-
是的,您最好将返回类型更改为
int甚至unsigned char,因为它只返回非常小的数字。如果您想将 very 大数字传递给您的函数,您可以使用unsigned long long而不是long long int(如果您的编译器支持它)。功能还可以,我觉得没必要去掉。 -
您可以通过先剔除偶数
z,然后仅使用偶数i进行测试,将执行时间减半。您可以通过仅迭代到z的平方根来进一步减少执行时间。
标签: c