Skip to content

写一个isPrime()函数,当其为质数时返回true,否则返回false #9

@hubvue

Description

@hubvue

判断质数有很多优化的方式:

  1. 负数不是质数。
  2. 能被1和本身整除的数是质数
  3. 1和0不是质数,2是最小的质数。
  4. 2的倍数不是质数(2除外)
  5. 遍历一个数n是否是质数,只需要遍历到根号n即可,因为根号n是一个中间点,后面和前面重复。
const isPrime = n => {
    if(n < 2){
        return false;
    }else if(n === 2){
        return true;
    } else if(n % 2 === 0){
        return false;
    }
    let result = 0;
    for(let i = 2 ; i < Math.pow(n,0.5); i ++) {
        if(n % i === 0){
            result ++;
        }
    }
    if(result === 0) {
        return true;
    }else {
        return false;
    }
} 
const result = isPrime(99);
console.log(result);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions