鱼C论坛

 找回密码
 立即注册
查看: 2527|回复: 5

[已解决]求帮忙,我想做一个求三位数的所有水仙花数的程序,为什么我这段代码跑起来结果不对

[复制链接]
发表于 2020-11-8 21:49:51 | 显示全部楼层 |阅读模式

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

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

x
for a in range(100,1000):
    for i in range(1,10):
     for j in range(0,9):
             for k in range(0,9):
                 if a==i**3+j**3+k**3:
                    print(a)
                 
最佳答案
2020-11-8 22:00:51
或者这样
  1. for i in range(1,10):
  2.     for j in range(0,9):
  3.         for k in range(0,9):
  4.             if i*100+j*10+k==i**3+j**3+k**3:
  5.                 print(i*100+j*10+k)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-8 21:56:36 | 显示全部楼层
本帖最后由 昨非 于 2020-11-8 21:58 编辑

你把两种方法搞混了
  1. for i in range(100,1000):
  2.    a = (i //100)
  3.    b = ((i - 100*a)//10)
  4.    c = (i % 10)
  5.    s = a**3+b**3+c**3
  6.    if i == s:
  7.        print(i)

  8. for i in range(100, 1000):#遍历100到1000所有整数
  9.    sum = 0  #定义求和变量,初值为0
  10.    temp = i
  11.    while temp:#当i得值不等于0时,一直循环
  12.        sum = sum + (temp%10) ** 3 #temp取余10得到最后一位的数值,sum等于temp各位数之和
  13.        temp //= 10         # 注意这里要使用地板除哦~   这里得到temp的前两位
  14.    if sum == i: #判断i是否等于其各位数的三次方之和
  15.        print(i)#打印满足情况的i得值
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

发表于 2020-11-8 22:00:51 | 显示全部楼层    本楼为最佳答案   
或者这样
  1. for i in range(1,10):
  2.     for j in range(0,9):
  3.         for k in range(0,9):
  4.             if i*100+j*10+k==i**3+j**3+k**3:
  5.                 print(i*100+j*10+k)
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

发表于 2020-11-8 22:01:46 | 显示全部楼层
三种方法,满意的话记得给个最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-9 10:08:15 From FishC Mobile | 显示全部楼层
昨非 发表于 2020-11-8 22:01
三种方法,满意的话记得给个最佳答案

最佳答案那个   第二个和第三个range  里面的应该是range(0,10)吧    这才是从0到9吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-9 10:56:06 From FishC Mobile | 显示全部楼层
小可爱. 发表于 2020-11-9 10:08
最佳答案那个   第二个和第三个range  里面的应该是range(0,10)吧    这才是从0到9吧

对的,上面的确实不对,感谢指正
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 07:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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