判断是否为质数

Number对象的原型对象上添加"_isPrime"函数,该函数判断调用的对象是否为一个质数,是则返回true,否则返回false

<script type="text/javascript">
	// 补全代码
     Number.prototype._isPrime = function () {
    // valueOf() 方法返回指定对象的原始值。
    const num = this.valueOf()
    // Number.isInteger() 方法用来判断给定的参数是否为整数
    if (num < 2 || !Number.isInteger(num)) return false;
    // Math.floor() 返回小于或等于一个给定数字的最大整数
    // Math.sqrt() 函数返回一个数的平方根
    for (let i = 2, ceil=Math.floor(Math.sqrt(num)); i <= ceil; i++) {
        if (num % i === 0) {
            return false
        }

    }
    return true
}
</script>

思路:

在原型prototype上添加方法
先通过this.valueOf()获取调用该方法对象的原始值num
num小于2或者不是整数时返回false
然后进入循环,i初始值为2 ,不需要遍历到最后,遍历到原数值的1/2处 即可判断出它是不是质数
遍历过程中若num能被i整除,返回false
其余情况返回true
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值