js找出指定范围内(m,n)的水仙花数

水仙花数定义:各个位的数的立方和等于其本身。如153=1^3+5^3+3^3。

设m、n两个数。100<=m<=n<=999,输出在在m和n范围内的水仙花数。

 如果没有就输出no,有如果有多个则从小到大排成一行输出,之间用空格隔开。

function narcissus(m,n){
    var a,b,c,t=0;
    if (m>=100&&m<=n&&n<=999){
         for(var i=m;i<=n;i++){
            // parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数 
            // 如果参数不是一个字符串,则将其转换为字符串
            var a = i%10;  //%10,指除以10并取其余数。该余数为个位数
            var b = parseInt((i/10)%10);  //十位数,这里不用parseInt方法会产生小数
            var c = parseInt(i/100);   //百位数
            if(a*a*a+b*b*b+c*c*c== i){
             document.write(i+' ')  //有多个则之间用空格隔开
             t++;  
             }
            
        }
        if(t===0){console.log("No")}
            // 如果没有找出水仙花数就弹出no
    }

    else{console.log('请输入100~999之间的范围')
    }
}




你可能感兴趣的:(算法)