JavaScript水仙花数(传递任意n位数)
2021-04-11 11:28
标签:== col 之间 count while循环 等于 let 功能 拓展 功能: 水仙花数:封装方法,要求传入一个长度N,返回N位数字下所有的水仙花数。所谓的水仙花数是指:一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如153,370,371,407等都是水仙花数,就拿153来说,153=1*1*1 + 5*5*5 + 3*3*3 拓展要求:不局限于3位数,输入任意n位数,计算出从0~n位数之间的所有水仙花数。 思路:水仙花题型的拓展,将个位的数字先取出,再对十位以后的数组分割,最后进行累加比较。 JavaScript水仙花数(传递任意n位数) 标签:== col 之间 count while循环 等于 let 功能 拓展 原文地址:https://www.cnblogs.com/aimilu/p/13358912.html 1 // /*水仙花数*/
2 let arr = [];
3 let n = prompt(‘请输入N位数‘);
4 for (let num = 0; num ) {
5 let i = 0, count = num, sum = 0;
6 //先执行一次do_while循环
7 do {
8 // 取出个位
9 arr[i] = count % 10;
10 // 去除个位
11 count = Math.floor(count / 10);
12 i++;
13 } while (count >= 1)
14
15 for (let i = 0; i ) {
16 //累加
17 sum += Math.pow(arr[i], arr.length);
18 }
19 if (sum == num) {//如果是水仙花数则返回结果
20 console.log(num);
21 }
22 }
下一篇:剑指06旋转数组的最小数字
文章标题:JavaScript水仙花数(传递任意n位数)
文章链接:http://soscw.com/index.php/essay/74247.html