鱼C论坛

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

[已解决]水仙花数 我没有理解 求助各位大佬

[复制链接]
发表于 2022-4-8 12:47:34 | 显示全部楼层 |阅读模式

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

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

x
这个是我本来的想法
while True:
    import random

    a = random.choice([1,2,3,4,5,6,7,8,9])
    b = random.choice([0,1,2,3,4,5,6,7,8,9])
    c = random.choice([0,1,2,3,4,5,6,7,8,9])

    for num in range(100,1000):
        if num != 100*a + 10*b + c:
            continue
       
        if num == a**3 + b**3 + c**3:
            print(num)
然后这里的 num  能不能让它只打出答案 然后答案不要一直打印
看到它一直在打印重复的答案 我还以为我弄错了

然后是018讲的作业的答案 我没有完全理解
for i in range(100, 1000):
    sum = 0
    temp = i

    while temp:
        sum = sum + (temp % 10) ** 3
        temp //= 10

    if sum == i:
        print(i)

这个 sum = sum + (temp % 10)**3
temp //= 10

就是这个没有理解
求助各位大佬
最佳答案
2022-4-8 12:57:08
本帖最后由 isdkz 于 2022-4-8 12:59 编辑

第一:你那个一直打印重复的答案是因为你用了随机,

随机出重复的很正常,这种情况不是测什么概率的你就不应该用随机,得用枚举,

第二:答案里的是在三位数中枚举,temp % 10 可以得到最后一位数,

而 temp %10 想要得到它的高位数就得把高位往低位挪,

temp //= 10 可以丢弃最后一位数,这样高位自然就可以往低位挪了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-8 12:54:47 | 显示全部楼层
好吧,我现在理解了, 就是在018讲已经讲清楚了 我没有仔细看

sum = sum + (temp % 10) ** 3 的功能就是每次将最后一位计算三次方的结果累加到 sum 变量里面
temp //= 10 这句就不难理解了,123 拿出 3 之后,下一步就应该是拿倒数第二位来算三次方了,所以我们应该将 123 去掉一位,变成 12,那十进制数去掉末位的方法当然就是除以 10 咯

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-8 12:57:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-4-8 12:59 编辑

第一:你那个一直打印重复的答案是因为你用了随机,

随机出重复的很正常,这种情况不是测什么概率的你就不应该用随机,得用枚举,

第二:答案里的是在三位数中枚举,temp % 10 可以得到最后一位数,

而 temp %10 想要得到它的高位数就得把高位往低位挪,

temp //= 10 可以丢弃最后一位数,这样高位自然就可以往低位挪了

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
收纳空白1321 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-8 13:24:42 | 显示全部楼层
本帖最后由 收纳空白1321 于 2022-4-8 13:27 编辑
isdkz 发表于 2022-4-8 12:57
第一:你那个一直打印重复的答案是因为你用了随机,

随机出重复的很正常,这种情况不是测什么概率的你就 ...


感谢大佬的帮助
枚举是在 小甲鱼的视频 后面出现的吗 是的话 我就 慢慢看过去
不是的话  大佬您说说在哪里可以找到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-8 13:31:09 | 显示全部楼层
收纳空白1321 发表于 2022-4-8 13:24
感谢大佬的帮助
枚举是在 小甲鱼的视频 后面出现的吗 是的话 我就 慢慢看过去
不是的话   ...

https://baike.baidu.com/item/%E6%9E%9A%E4%B8%BE%E6%B3%95/2473707

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
收纳空白1321 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-4-8 13:37:56 | 显示全部楼层
isdkz 发表于 2022-4-8 13:31
https://baike.baidu.com/item/%E6%9E%9A%E4%B8%BE%E6%B3%95/2473707

感谢大佬的帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 23:15:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-15 08:45:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 02:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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