JavaScript 水仙花数
水仙花数
在给定的数字基数 b 中,水仙花数是一个数字,它是其各个数字的和,每个数字都乘以数字的位数的幂。
例如 −
153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153
类似地,
1 = 1^1 = 1
方法
我们将首先使用 while 循环计算数字的位数。然后,再使用另一个 while 循环,我们将选取数字的最后一位,并将其(计数)次幂添加到变量 sum 中。在循环后,我们将返回一个布尔值,检查 sum 是否等于数字。
此方法的代码将为 −
示例
const isNarcissistic = (num) => {
let m = 1, count = 0;
while(num / m > 1){
m *= 10;
count++;
};
let sum = 0, temp = num;
while(temp){
sum += Math.pow(temp % 10, count);
temp = Math.floor(temp / 10);
};
return sum === num;
};
console.log(isNarcissistic(153));
console.log(isNarcissistic(1634));
console.log(isNarcissistic(1433));
console.log(isNarcissistic(342));输出
控制台中的输出将为 −
true true false false
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 程序设计
C++
C#
MongoDB
MySQL
Javascript
PHP