Appearance
素数 / isPrime
题目描述
判断一个数字是否是素数,素数是除了 1 和它本身之外没有其他因子,如 2、3、5、7、11。
Code
javascript
function isPrime(num) {
if (num < 2) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
Test Cases
javascript
const { isPrime } = require('../docs/algo/number/isPrime.js');
describe('isPrime', () => {
it('zero', () => {
expect(isPrime(0)).toBeFalsy();
});
it('negativeNumber', () => {
expect(isPrime(-1)).toBeFalsy();
expect(isPrime(-3)).toBeFalsy();
});
it('one', () => {
expect(isPrime(1)).toBeFalsy();
});
it('should be true', () => {
expect(isPrime(2)).toBeTruthy();
expect(isPrime(3)).toBeTruthy();
expect(isPrime(5)).toBeTruthy();
expect(isPrime(7)).toBeTruthy();
expect(isPrime(11)).toBeTruthy();
});
});