您的位置:首页 > 其它

小题目 求素数

2013-10-31 11:23 183 查看
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。

——摘自百度百科

也就是说素数n只能被1和自身整除,那么是不是可以用n对从2到n-1进行取模, 判断其是不是等于0, 如果等于0了 那说明n是合数(可以被除1和自身的数整除嘛)

这样就可以判断是不是为素数了

接下来我们可以优化一下

据说在数学上证明 不用再从2到n-1进行取模判断 只要从2到n的算术平方根下取整进行判断就好 也就是说如果判断到这里n的模都不为0 那么这个数一定是素数

PS 这里先用一个整数来存储n的算术平方根下取整 这样可以节省时间 如果直接作为循环条件 则会浪费

注意!!!重点来了

其实我是想写 在写题目的时候一定一定一定一定要认真审题

有一个题目让你判断素数 给你一个n 代表测试数据个数 10w+

接下来每个数据都是int型的

这个时候你妹的就不能写筛选了(这题他就是卡筛选法的)

然后直接用普通的方法就轻松ac了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm 算法