求计算机大神来个求1000以内的水仙花数数

只需一步,快速开始
请完成以下验证码
后使用快捷导航没有帐号?
请完成以下验证码
查看: 810|回复: 14
python例题看不懂,求大神
& 尚未签到
From FishC Mobile
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
本帖最后由 戴宇轩 于
18:21 编辑
编写一个程序,求 100~999 之间的所有水仙花数。
引用: 如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
for i in range(100, 1000):
& & sum = 0
& & temp = i
& & while temp:
& && &&&sum = sum + (temp%10) ** 3
& && &&&temp //= 10& && && &# 注意这里要使用地板除哦~
& & if sum == i:
& && &&&print(i)复制代码
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:12 天连续签到:1 天
#求各位上数的立方和
while temp:& &
& && &&&sum = sum + (temp%10) ** 3&&#累加各位上的立方
& && &&&temp //= 10& && && &# 使用地板除,没除一次去掉最低位,如153//10 = 15
最后sum == i判断立方和是否等于原来的数
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 尚未签到
From FishC Mobile
June_SR 发表于
#求各位上数的立方和
while temp:& &
& && &&&sum = sum + (temp%10) ** 3&&#累加各位上的立方
麻烦问下sum这个函数是什么意思?翻译的不清楚?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:12 天连续签到:1 天
麻烦问下sum这个函数是什么意思?翻译的不清楚?
给你把过程写一下吧:比如153 sum先等于0,temp=153进入while循环 sum + (temp%10) ** 3=0+3**3=27,27赋值给sum,。temp//=10后,temp=15。再一次进入循环,sum + (temp%10) ** 3=27+5**3=152,152赋值给sum。。。。。
感谢楼主无私奉献!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 尚未签到
From FishC Mobile
June_SR 发表于
#求各位上数的立方和
while temp:& &
& && &&&sum = sum + (temp%10) ** 3&&#累加各位上的立方
感觉好复杂啊,一点都看不懂
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:12 天连续签到:1 天
代个数字进去想一下就行了
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:32 天连续签到:1 天
你没必要非要跟着例题啊,自己做出来也是对的吧,还好理解,适合自己的才是最好的
我当时做的,单独求出百位,十位,个位,然后判断就行了 ,虽然是复杂了一点,但是更好理解
def shuixianhua():
& & for i in range(100,1000):
& && &&&temp = i
& && &&&thefirst = i // 100& &#百位
& && &&&thesecond = (temp - thefirst*100) //10&&#十位
& && &&&thethird = temp - thefirst *100 -thesecond *10&&#个位
& && &&&if temp == thefirst**3 + thesecond**3 +thethird**3:
& && && && &print(temp)复制代码
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:32 天连续签到:1 天
本帖最后由 夏夜夏月 于
23:14 编辑
while temp:
& && &&&sum = sum + (temp%10) ** 3
& && &&&temp //= 10& && && &# 注意这里要使用地板除哦~
就是把我的求百位,十位,个位放在了while循环里求了三次。
第一次是个位,第二次是十位,第三次是百位。然后分别把3次求得的立方 最后判断相等就是水仙花数了
感谢楼主无私奉献!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:9 天连续签到:1 天
藐视我也不懂爱
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:9 天连续签到:1 天
#求各位上数的立方和
while temp:& &
& && &&&sum = sum + (temp%10) ** 3&&#累加各位上的立方
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:89 天连续签到:1 天
我想你的问题也就在这一段代码
& & while temp:
& && &&&sum = sum + (temp%10) ** 3
& && &&&temp //= 10& && && &# 注意这里要使用地板除哦~复制代码
首先,这是while循环语句, temp//=10 可以写成 temp = temp//10;
按照题干的意思temp取值在100-999之间,我也以153为例,最多也就循环3次,第四次temp =0 就跳出循环了;
第一次循环时, sum = sum + (temp%10) ** 3,temp这时是原值,还没有变化,所以temp%10,它的余数就是原值的个位数,还是以153为例,现在sum=0+3**3=27,
然后运行第二次循环,此时temp=153//10=15,此时sum=27+15%10**3=152
然后运行第三次循环,此时temp=15//10=1,此时sum=152+1%10**3=153
感谢楼主无私奉献!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:289 天连续签到:1 天
for i in range(100, 1000):
& & & & j = str(i)
& & & & if i == int(j[0])**3 + int(j[1])**3 + int(j[2])**3:
& & & & & & & & print(i)
复制代码
这样不是更简单?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:8 天连续签到:1 天
我表示我只学过c语言 但是也能看懂!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:8 天连续签到:1 天
理解水仙花的数的概念不是很好写!
100到1000内的任意一个数,将其个十百 的三次方加起来 等于这个数本身啊
其中要把被拆的数字保护起来
最后sum的和 与保护的数字比较!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
& 累计签到:29 天连续签到:1 天
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的
按钮,否则您的代码可能会被“吃掉”!
小甲鱼强烈推荐 /3
“知道自己不懂”是为第一境界
“不知道自己懂”是为第二境界
“知道自己懂了”是为第三境界
编写一个小爬虫,统计淘宝上某一件商品的月销量。
特效不会给你基本工资,但却能让你升职加薪
- - - - - - - - - - - -
有备无患,念念不忘
•••(
Powered by24被浏览2865分享邀请回答172 条评论分享收藏感谢收起编程java求水仙花数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
编程java求水仙花数
&&输入一段数值范围,并求出它的水仙花数,打印输出
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 求1000以内的水仙花数 的文章

 

随机推荐