鱼C论坛

 找回密码
 立即注册
查看: 920|回复: 7

009课作用水仙花数求解求解

[复制链接]
发表于 2019-3-17 17:21:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
看不明白 大神们可以简单解释一下们  谢谢你们





for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
        print(i)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-17 17:46:27 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-17 18:17:22 | 显示全部楼层
你没有说具体哪里不明白,我简单把主要部分给你说下:
while循环体是实现:将每位数字分割开,然后计算分开后的各数字立方和
关键点:temp%10取余运算,如118取余以后就是8,也就是个位数字,
temp//=10 地板除运算,即temp = temp // 10,如118经过地板除以后就是11,
然后11不等于0,所以继续运算,开始对11取余,就是1,依次向下运算。
if就是判断立方和与原数是否相等,相等则打印出来

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-17 18:47:16 | 显示全部楼层
水仙花问题很多人都提过的。。发一个上次我回答别人的。
  1. sum = 0           # 初始化sun为0
  2.     temp = i       #定义temp 为 i
  3.     while temp:  #当temp为True
  4.         sum = sum + (temp%10) ** 3   #(temp%10) **3 就是temp除以10的余数的3次方,因为temp是三位数,所以除以10的余数就是个位数的数值,也就是个位数的3次方
  5.         temp //= 10  #之后地板除10,例 151// 10 == 15 ,就是去掉个位,之后temp就等于15,再次进入while循环,然后sum = sum  + (temp%10) ** 3,这里等号右边的sum就是上个循环的结果,也就是个位数的3次方,(temp%10) ** 3这个时候temp为15,同理就是5的3次方,也就是十位的3次方,下面同理得出百位的3次方,之后temp==0为False,循环结束,这个时候sum就是个位,十位,百位的3次方之和,之后和i比较,如果这个时候相同就是满足了水仙花的条件,就打印出i结果。
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-17 20:03:48 | 显示全部楼层
sum = sum + (temp%10) ** 3
temp //= 10         # 注意这里要使用地板除哦~


这两行代码,对于初学者来说,的确不是很好理解,
但是 只要把
% -- 求余
// -- 取整
这两个 运算符号理解了,
那么自然就理解上面两行代码的作用了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-3-17 20:13:16 | 显示全部楼层
jackz007 发表于 2019-3-17 17:46
请楼主参考此帖:https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=132240&pid=380053 ...

谢谢你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-17 20:13:47 | 显示全部楼层
13572044595 发表于 2019-3-17 20:03
sum = sum + (temp%10) ** 3
temp //= 10         # 注意这里要使用地板除哦~

谢谢你 大师傅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-17 20:14:20 | 显示全部楼层
风丶少 发表于 2019-3-17 18:47
水仙花问题很多人都提过的。。发一个上次我回答别人的。

谢谢你 大师
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 15:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表