美文网首页
JS代码题15——水仙花数

JS代码题15——水仙花数

作者: twentyshaw | 来源:发表于2019-12-12 14:00 被阅读0次

给出n,找到所有的n位十进制水仙花数。

样例:

比如 n = 1, 所有水仙花数为:[0,1,2,3,4,5,6,7,8,9]。
而对于 n = 2, 则没有 2 位的水仙花数,返回 []。

首先,什么是水仙花数?

在数论中,水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),用来描述一个N位非负整数,其各位数字的N次方和等于该数本身。

如:三位数的水仙花数:

153 = 1^3 + 5^3 + 3^3
370 = 3^3 + 7^3 + 0^3
371 = 3^3 + 7^3 + 1^3
407 = 4^3 + 0^3 + 7^3

弄懂概念以后,理清解题思路。要找到所有n位数的水仙花数:

  • 先要拿到n位数范围内的所有数字,有范围所以要找最大最小值
  • 然后遍历这些数字,判断每一个数字是否为水仙花数

1. 判断一个数字是否为水仙花数

function isNarc(num){
    var arr = num.toString().split('')
    var sum = 0
    for (var i = 0; i < arr.length; i++) {
        sum = sum + Math.pow(arr[i],arr.length)
    }
    if (sum === num) {
        return true
    }else{
        return false
    }
}

2. 找到所有的n位十进制水仙花数

function findNarc(n){
    var max = Math.pow(10,n) //n位数的尽头(比如三位数的尽头就是1000)
    var min = n===1?0:Math.pow(10,n-1) //当n位1的时候,最小值为0,这里要判断一下
    var result = []
    for (var i = min; i < max; i++) {
        if(isNarc(i)){ //调用上面的函数判断该数字是否为水仙花数
            result.push(i)
        }
    }
    return result
}

相关文章

  • JS代码题15——水仙花数

    给出n,找到所有的n位十进制水仙花数。 样例: 首先,什么是水仙花数? 在数论中,水仙花数(Narcissisti...

  • Rust语言编程实例100题-013

    Rust语言编程实例100题-013 题目:经典水仙花数问题。打印出所有的"水仙花数",所谓"水仙花数"是指一个三...

  • 【Python】Python方法求水仙花数原码实例

    用Python编程方法求水仙花数,一行python代码就能解决问题。 先要知道什么是水仙花数,之后再去写代码,这样...

  • 习题13-14

    打印水仙花数·· 水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如:15...

  • 使用Python,求某个范围以内的"水仙花数"

    某位小朋友可能在刷题的原因,突然问我,怎么求出某个范围内的水仙花数,比如1000以内的水仙花数有几个,又分别是什么...

  • 水仙花数

    1.问题描述 输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数及其各位数字的立方和等于该数本身,例如,15...

  • 打印水仙花数

    今天面试,笔试中遇到一个编程题,要求打印出所有的水仙花数,所谓水仙花数是指一个 3 位数,它的每个位上的数字的 3...

  • 算法题目-水仙花数

    题目: 打印出所有的水仙花数 水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变...

  • 随记_求N位数范围内的所有自幂数

    今天遇到了一道题,让用Python求100 - 999 之间的水仙花数,出于好奇百度了一下,发现水仙花数只是三位数...

  • 郑州轻工业大学oj题解(c语言)1096:水仙花数(函数专题)

    今天给大家介绍一道函数题。水仙花数的进阶函数专题。水仙花数在OJ的题目里也算的上是趣味性比较强,相对难度比较简单的...

网友评论

      本文标题:JS代码题15——水仙花数

      本文链接:https://www.haomeiwen.com/subject/dtqtnctx.html