今日素数通项公式(素数算法)
大家好,小俊来为大家解答以上问题。素数通项公式,素数算法很多人还不知道,现在让我们一起来看看吧!
根据质数的性质,代码设计如下:
设计一:确定n是否能被1~n-1整除,但不能被素数整除。
# includestdio.h
int main()
{
int i,n;
scanf('%d ',n);
for(I=2;I n;我)
{
如果(n%i==0)
打破;
}
if (i n) printf('这不是一个素数。');
else printf('这是一个质数。');
返回0;
}
设计二:确定n是否能被2到 n之间的整数整除,但不是素数。
# includestdio.h
#包含math.h
int main()
{
int n,I;
双k;
scanf('%d ',n);
k=sqrt(n);
for(I=2;I=k;我)
{
if(n % I==0)break;
}
if (i=k) printf('这不是一个素数。');
else printf('这是一个素数');
返回0;
}
扩展信息:
1.素数的定义是只能被1和自己整除,1不是素数。所以判断一个数是不是质数,就要判断它是否能被所有比他小的质数整除。这是一个算法。(写算法的时候,我只能写,除以所有比他小的数,运算速度会很低。)
2.如果一个素数大于根号N,并且N能把它全部除尽,那么N一定也能除尽一个更小的素数。由此可以得到一个更快的方法2的素数判断算法。
参考:搜狗百科-scanf
参考:搜狗百科-质数
本文到此结束,希望对大家有所帮助。