不理解。。。 怎么写?

不理解。。。 怎么写?

水仙花是这样的一个数字,它的每个位数上的数字的3次幂之和等于它本身,例如(1*1*1+5*5*5+3*3*3)=153;

请在页面中输出1000以内的水仙花数


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕嘟嘟 2019-09-12 18:32:31

同学你好,

举个例子哈,假设一个数为125

百位上的数字: 125/100 = 1;

十位上的数字: 125-(1*100)/ 10 = 2;

个位上的数字: 125 - (1* 100) - (2 * 10)=5;

如果我的回答帮助了你,欢迎采纳,祝学习愉快~


好帮手慕嘟嘟 2019-09-12 18:19:50

同学你好,

老师这边提供一个思路哈:

简单来说水仙花数就是这个数字的每一个位数上的数字的三次方的和等于这个数,如果要输出1000以内的水仙花数就要分以下几个步骤:

①    首先要遍历1000以内的数(就是要取到每一个数)

②    循环拿到这个数以后,就要把这个数的每一个位数上的数字找到,也就是:

        hundreds = parseInt(i / 100);     //找到百位上的数字

        tens = parseInt((i - (hundreds * 100)) / 10)     //找到十位上的数字

        ones = i - (hundreds * 100) - (tens * 10);    //找到个位上的数字

③    执行判断,看看每一个位数上的数字的三次方是不是等于这个数。如果等于就输出这个数。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~


  • 提问者 慕斯0507114 #1
    hundreds = parseInt(i / 100); //找到百位上的数字 tens = parseInt((i - (hundreds * 100)) / 10) //找到十位上的数字 ones = i - (hundreds * 100) - (tens * 10); //找到个位上的数字 这块不理解
    2019-09-12 18:23:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师