对开根号判断素数的优化

本文介绍了一种优化方法来判断大于10^9的数是否为素数,通过只判断2到根号10^9的素数,并跳过它们的倍数,避免了超时问题。代码实现中,先初始化一个素数表,然后针对每个输入的数,检查素数表中对应范围内的素数能否整除该数。
摘要由CSDN通过智能技术生成
恼人的素数

连羽疲倦的推开公主阁的门,“啊啊啊,怎么会留这么麻烦的作业。”
“既然布置了,那就没有办法了啊,今晚一起算就好了。”连辰拍了拍连羽的背,表示鼓励。
荆盈将做好的菜端到餐桌上,看着勉强露出笑容的两人问道:“所以你们老师布置了什么题啊?”
“关于素数的题,老师给了一个很大的数,问是不是素数。”连辰解释道。
“素数啊,我到是知道些比较快的判断方法。”
“真的?”连羽如同见了救星一般。
作为立志要成为计算机天才的你们,能帮助连羽么?

输入格式:
多组测试
每组测试有一行,为一个正整数k(k < 10^9),

输出格式:
每组测试输出一行,
若k为素数,输出“Yes”,否则输出“No”

时间限制1000ms

此题为判断一个数是否为素数,多组测试数据,注意k<10^9,首先用筛选素数法开不了那么大的数组,如果用普通的for循环判断从2到根号k是否能整除k一定会T,所里要加一个优化,如果判断了2不能被整除,那么4,6,8,10...等2的倍数都不用判断了,因为一定不会被k整除,同理3的倍数&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值