质数又称素数。指在一个大于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了~