CQUPT Python 猜年龄

该问题是一个数学与编程结合的挑战,要求找到一个数,其立方是4位数,四次方是6位数,且由这两个数的十位数字组成集合包含了0到9每个数字恰好一次。通过遍历和条件判断,发现当n等于18时,18的立方是6561(4位数),18的四次方是104976(6位数),且这两个数的数字集合包含0到9各一次,因此维纳当时的年龄是18岁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请编程输出当年维纳的年龄。

【输出形式】

一个正整数(维纳当年的年龄)

【完整代码】

n = 1
while True:
    n3 = n ** 3
    n4 = n ** 4
    if 1000 <= n3 <= 9999 and 100000 <= n4 <= 999999:
        ls = list(str(n3)) + list(str(n4))
        # set去重
        if len(set(ls)) == 10:
            print(n)
            break
    n += 1

【代码讲解】

遍历判断一下什么时候满足条件就可以了。当然你也可以直接提交下面代码,也能通过。

print(18)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值