求解水仙花数

  • 求解水仙花数已关闭评论
  • 160 次浏览
  • A+
所属分类:Web前端
摘要

 

  /* 下述代码近供参考     水仙花数是指一个3位数,它的每个位上的数字3次幂之和等于它本身。     例如:(1的3次方+5的3次方+3的3次方=153),请打印所有的水仙花数。     */     // 第一种方式     for(var a=0;a<10;a++)      {           for(var b=0;b<10;b++)           {             for( var c=0;c<10;c++)             {                 if((a**3+b**3+c**3)==(a*100+b*10+c)&&(a*100+b*10+c>99))                    {                        alert(a+""+b+""+c);                                            }             }          }      }      //第二种方式:     //  第一步:先打印所有的3位数     for(var i=100;i<1000;i++)      {                   // document.write(i+"</br>");         //获取百位上的数字          var bai=parseInt(i/100);          //获取十位上的数字         var shi=parseInt((i-bai*100)/10);          // 获取个位上的数         var ge=i%10;          //判断i是否是水仙花数         if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i){             alert(i);         }         //求解思路:就是将有关百十个位的数的未知数写成与i相关的数,一元方程式
//注:上述代码仅供参考
}