鱼C论坛

 找回密码
 立即注册
查看: 2057|回复: 6

[已解决]小白问题

[复制链接]
发表于 2020-3-2 15:14:26 | 显示全部楼层 |阅读模式

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

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

x
题目内容:
水仙花数是指一个n位数(n23)。它的每个位上的数字的n次幂之和等于它本身。
例如: 153是一个水仙花数”。 因为153是个3位数,而1**3+5**3+3**3-=153.
输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。
输入格式: .
共一行,为一个正整数。
输出格式: .
若干行,从小到大输出水仙花数,-行为一个数。
输入样例:
2500
输出样例:
153
370
371
407
1634
有没有大神帮我下,这个之前看到的,只研究了100到1000,
最佳答案
2020-3-2 15:50:39
n = int(input())
for i in range(100, n + 1):
    length = len(str(i))
    if sum(int(j) ** length for j in str(i)) == i:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-2 15:50:39 | 显示全部楼层    本楼为最佳答案   
n = int(input())
for i in range(100, n + 1):
    length = len(str(i))
    if sum(int(j) ** length for j in str(i)) == i:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-2 16:44:53 | 显示全部楼层

错误啊,这个显示是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-2 16:56:32 | 显示全部楼层
卡特曼 发表于 2020-3-2 16:44
错误啊,这个显示是错的

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

使用道具 举报

 楼主| 发表于 2020-3-2 17:35:06 | 显示全部楼层

n = int(input())
for i in range(100, n + 1):
    length = len(str(i))
    if sum(int(j) ** length for j in str(i)) == i:
        print(i)
        
SyntaxError: multiple statements found while compiling a single statement
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-2 17:58:38 | 显示全部楼层
卡特曼 发表于 2020-3-2 17:35
n = int(input())
for i in range(100, n + 1):
    length = len(str(i))

按 Ctrl + N 新建一个文件,把代码拷贝到文件中,然后再按 F5 运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-2 23:03:11 | 显示全部楼层
zltzlt 发表于 2020-3-2 17:58
按 Ctrl + N 新建一个文件,把代码拷贝到文件中,然后再按 F5 运行

兄弟,加个V或者 Q可以吗?因为这个我不会发图片,要不我就截图给你看了,你看有空帮我解决一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 06:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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