鱼C论坛

 找回密码
 立即注册
查看: 2925|回复: 14

关于水仙花数的代码的一些问题

[复制链接]
发表于 2015-12-10 21:48:53 | 显示全部楼层 |阅读模式

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

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

x
这是小甲鱼给的答案
  1. for i in range(100, 1000):
  2.     sum = 0
  3.     temp = i
  4.     while temp:
  5.         sum = sum + (temp%10) ** 3
  6.         temp //= 10         # 注意这里要使用地板除哦~
  7.     if sum == i:
  8.         print(i)
复制代码


这是我自己写的
  1. for i in range(100,1000):
  2.     temp = i
  3.     a = temp // 100
  4.     b = (temp%100)//10
  5.     c = temp%10
  6.     if i == a**3 + b**3 + c**3:
  7.         print(i)
复制代码

我目前完全看不懂小甲鱼老师写的代码的意思。谁能帮我解释一些这些代码,我可能是在水仙花数算法上理解错误了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-10 21:50:21 | 显示全部楼层
师傅快来!@小甲鱼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-11 08:44:39 | 显示全部楼层
Joecy 发表于 2015-12-10 21:50
师傅快来!@小甲鱼

小甲鱼是用一个循环来处理的。以一个数字‘123’为例:
第一次循环:temp=123循环为真执行。
temp%10取个位数3
temp //= 10相当于temp = temp // 10
即temp变成了12
再次循环。取到2,变成1
再次循环,取到1,变成0,循环终止。

评分

参与人数 1荣誉 +5 鱼币 +3 收起 理由
~风介~ + 5 + 3 支持楼主!

查看全部评分

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

使用道具 举报

发表于 2015-12-11 08:50:10 | 显示全部楼层
我的是这样编写的,可以只适用于python。
  1. for i in range(100, 1000):
  2.     str1 = str(i)
  3.     sum = int(str1[0])**3 + int(str1[1])**3 + int(str1[2])**3
  4.     if sum == i:
  5.         print(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-11 10:32:31 | 显示全部楼层
冬雪雪冬 发表于 2015-12-11 08:50
我的是这样编写的,可以只适用于python。

你这是切片吧?我看不懂小甲鱼老师写的。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-11 10:33:21 | 显示全部楼层
冬雪雪冬 发表于 2015-12-11 08:44
小甲鱼是用一个循环来处理的。以一个数字‘123’为例:
第一次循环:temp=123循环为真执行。
temp%10取 ...

嗯,我再好好理解下。谢谢你!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-11 10:51:26 | 显示全部楼层
Joecy 发表于 2015-12-11 10:32
你这是切片吧?我看不懂小甲鱼老师写的。。。。

是做的切片。因为int无法切片,所以先转成字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-11 12:46:26 | 显示全部楼层
我用的也是楼主的那种方法,比较好理解:lol:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-11 13:25:34 | 显示全部楼层
farewellpoem 发表于 2015-12-11 12:46
我用的也是楼主的那种方法,比较好理解

会不会显得不高级?。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-12 00:09:27 | 显示全部楼层
Joecy 发表于 2015-12-11 13:25
会不会显得不高级?。。。。

有什么关系~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-1-26 08:44:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-1-26 10:54:38 | 显示全部楼层
算法问题吧,我也看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-28 20:33:58 | 显示全部楼层
没有看懂,小甲鱼老师的也是在牡丹兄弟的指点下略懂了有点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-19 15:30:51 | 显示全部楼层
终于搞明白了。。。。。。。。。。。。。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-12 12:44:58 | 显示全部楼层
理解了!!!!谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-18 17:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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