在LeetCode刷题的知识积累

来源:互联网 发布:免费电话会议软件 编辑:程序博客网 时间:2024/05/16 17:19

计算1到n之间的素数的个数的经典代码public class Solution {    public int countPrimes(int n) {        int count=0;        for (int i=1;i<n;i++) {            if(isPrime(i)) {                count++;            }        }        return count;    }    private boolean isPrime(int num) {        if(num<=1) {            return false;        }        for(int j=2;j*j<=num;j++) {            if(num%j==0) {                return false;            }        }        return true;    }}

素数,也叫质数,他是大于1的自然数,除了1和他本身外不能再被其他自然数整除的数,也就是说除了1和他本身外不再含有其他的因数。最小的素数是2,否则是合数。

通过调试程序,提高算法的效率。程序中使用j*j<=num instead of j<=sqrt(num),可以降低频繁调用函数sqrt()的开销。

0 0
原创粉丝点击