导读 大家好,小俊来为大家解答以上问题。素数通项公式,素数算法很多人还不知道,现在让我们一起来看看吧!根据质数的性质,代码设计如下:设计

大家好,小俊来为大家解答以上问题。素数通项公式,素数算法很多人还不知道,现在让我们一起来看看吧!

根据质数的性质,代码设计如下:

设计一:确定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

参考:搜狗百科-质数

本文到此结束,希望对大家有所帮助。