首页 > 学院 > 开发设计 > 正文

[LeetCode] Count Primes

2019-11-15 01:13:08
字体:
来源:转载
供稿:网友
[LeetCode] Count PRimes

这道题我觉得难点就是在到底咋用java判断一个数是不是质数这个点上。

说实话这个我实在没啥点,我这个办法也是直接死背下来的,所以我也不会说原理。

关于isPrime()method里面那个for loop为啥step是2是因为我的loopcong3开始,3,5,7,9……这样是略过了所有偶数,所有偶数除了2,都不可能是prime的。(偶数判断也已经单独写了if statament。)所以简化过程,直接在奇数里面判断。

代码如下。~

public class Solution {    public int countPrimes(int n) {        if(n<=2){            return 0;        }        int count=1; //at least 2 is a prime        for (int i=3;i<n;i++){            if(isPrime(i)==true){                count++;            }        }        return count;    }        public boolean isPrime(int n){        if(n%2==0){            return false;        }        for(int i=3;i*i<=n;i=i+2){            if(n%i==0){                return false;            }        }        return true;    }}


上一篇:Eclipse在线安装SVN

下一篇:Hibernate查询

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表