/* 下述代码近供参考
    水仙花数是指一个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相关的数,一元方程式
//注:上述代码仅供参考
}

发表回复