0
点赞
收藏
分享

微信扫一扫

封装函数判断一个数字是不是质数

金穗_ec4b 2022-02-25 阅读 108

封装函数判断一个数字是不是质数

参数: 1, 要判断的数字
    function isPrime(n) {
      // 1. 考虑如果 n 不是一个数字
      // isNaN(n) // true 说明不是数字, 那么后续的代码没必要
      if (isNaN(n)) return false

      // 2. 转换成数值类型
      n = Number(n)

      // 3. 判断这个数字是不是质数
      for (var i = 2; i <= n / 2; i++) {
        if (n % i === 0) break
      }

      // 4. 确定返回值
      // 如果 i > n / 2 为 true, 说明是质数, 应该给当前函数定义返回值为 true
      // 如果 i > n / 2 为 false, 说明不是质数, 应该给当前函数定义返回值为 false
      // 直接返回 i > n / 2 的结果
      return i > n / 2
    }

    var r1 = isPrime('abc')
    console.log(r1)
    var r2 = isPrime(17)
    console.log(r2)
    var r3 = isPrime(12)
    console.log(r3)

判断范围内的质数

​ 需要判断一个数是不是质数

需求: 在控制台输出 100 ~ 200 之间所有的质数

// isPrime 可以判断一个数字是不是质数
    for (var i = 100; i <= 200; i++) {
      // 通过调用 isPrime 来判断每一个数字
      var res = isPrime(i)

      if (res) console.log(i)
    }

封装练习

封装一个函数,求一个数字的阶乘

 function fn(n) {
    //   // n 就是要求阶乘的数字

    //   // 1. 判断是不是一个数字
      if (isNaN(n)) return 0

    //   // 2. 把参数转换成数值类型
       n = n - 0

    //   // 3. 求 n 的阶乘
     var total = 1
      for (var i = n; i >= 2; i--) {
        total *= i
       }

    //   // 4. 把 total 当做返回值
       return total
     }

     console.log(fn(8))
举报

相关推荐

0 条评论