面试的时候,如果要手写算法题目,判断一个数是不是素数,可以说是非常常见的问题了,这道题目回答并不算难,但是想要以优雅高效的方法回答,却并不轻松,下面我会介绍三种方式,时间复杂度从高到低。
注意:0和1既不是素数也不是合数
第一种方式
1.方式:从2遍历到n-1
2.时间复杂度:O(n)
3.代码示例
boolean firstMethod(int n) {
if (n < 2) {
return false;
} else if (n == 2) {
return true;
} else {
for (int i = 2; i < n; i++) {
if (n%i