前端js水仙花数回文数算法

   1: 打印出所有"水仙花数",

   所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身;例如:153是一个水仙花数,因为153=1^3+5^3+3^3;

    思路把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 三位数为“水仙花数”,反之,则不是;

1   for (var i = 100; i < 1000; i++) {
2             var a = parseInt(i / 100)//百位 
3             var b = parseInt((i - a * 100) / 10) //十位 
4             var c = parseInt(i - a * 100 - b * 10)// 个位
5             var sum = a * a * a + b * b * b + c * c * c
6             if (i == sum) {
7                 console.log(sum);//153、370、371、407
8             }
9         }

 2:求出所有的回文数的个数。

    所谓回文数,是指一个5位数,并且它的万位和个位相等,千位和十位相等,如12321,12321就是回文数;
    思路:同上
    
 1  var result = []
 2         for (var i = 10000; i <= 99999; i++) {
 3             var a = parseInt(i / 10000) //万位 
 4             var b = parseInt((i - a * 10000) / 1000) //千位  
 5             var c = parseInt((i - a * 10000 - b * 1000) / 100)//
 6             var d = parseInt((i - a * 10000 - b * 1000 - c * 100) / 10) //
 7             var d = i - a * 10000 - b * 1000 - c * 100 - d * 10 //
 8             if (a == d && b == d) {
 9                 result.push(i)
10             }
11 
12         }
13         console.log(result);

 结果:打印结果共有900个,如下图所示(也可以复制代码自行查看)

      

 

 

 

posted @ 2021-09-07 21:40  原来是奔跑的蜗牛  阅读(465)  评论(0)    收藏  举报