首页 > 编程知识 正文

输入一个数,判断是否为素数(判断m是否为素数)

时间:2023-05-05 07:49:50 阅读:89132 作者:3976

问题:判断2017是质数还是合数?

分析:当比较小的正整数很容易判断是否为素数时,我们通常只需要用2,3,5,7,11,13这个素数去除这个数。 如果不能全部被整除,则为素数,如果能被任何数整除,则为素数。

例如,143是14311=13,所以143不是素数,而是对数。

例如,157是素数,因为157不能被2、3、5、7和11整除。

但是,2017是既不大也不小的数,如果只检测出不能被2、3、5、7、11、13这样连续的素数整除,就不能判断它是素数。 因为有可能被大素数整除。

能被多少素数整除才能判断是否为素数呢?

如果判断出的整数为n,则为、

在N23时,如果n不是2的倍数,则n是素数;

在N35时,如果n不是2或3的倍数,则n是素数;

在N57的情况下,如果n不是2、3或5的倍数,则n是素数;

在N711的情况下,如果n不是2、3、5或7的倍数,则n是素数;

在N1113的情况下,如果n不是2、3、5、7或11的倍数,则n是素数;

一般来说,在nab(a、b为连续素数,且为ab )情况下,如果n不是2、3、5、…、a这样的连续素数的倍数,则n为素数;

因此,要判断大整数n是否为素数,只要找到连续的两个素数a、b、ab,使n离ab最近且为Nab,逐一验证n是否能被所有小于a的素数整除即可。

2017的情况下,由于是20174347,所以,

2017不能被43、41、37、31、29、23、19、17、13、11、7、5、3和2整除。

所以2017是素数。

练习:判断以下各数是否为素数?

(1) 1999 )素数) )。

(二) 2021 (合数) () ) ) ) )。

(三) 2179; (素数)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。