所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除.因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
另外判断方法还可以简化.m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了.如果m不能被2~√m间任一整数整除,m必定是素数.例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数.(原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m.例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可)
#include
#include
void main()
{
int m,i,k;
printf("请输入一个整数:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;ik)
printf("%d 是素数.\n",m);
else
printf("%d 不是素数.\n",m);
}
猜你喜欢
- 1氢氧化钠的摩尔质量,氢氧根的摩尔质量,要过程谢谢
- 2将太阳烤着大地造成比喻句
- 3设圆O1与圆O2的半径分别为3和2,O1O2=4,A,B为两圆的交点,试求两圆的公共弦AB的长度
- 4求一篇 以爱为话题的文章
- 51+1+2分之1+1+2+3分之1+1+2+3+4分之1…………+1+2+3+4…+100分之1 怎么算额?
- 6如图,在半径为50的⊙O中,弦AB的长为50, (1)求∠AOB的度数; (2)求点O到AB的距离.
- 7一个底面周长和高相等的圆柱体,如果高增加1厘米,它的表面积就增加6.28平方厘米,它的底面周长是_厘米.
- 8my sister has some basdball bats 怎么变疑问?说理由!
- 9she was _______(happy)yesterday because she was ill.
- 10作者为什么要写这篇文章