题目标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
直接提交CSDN博客链接就可以。
max1 = 10
while True:
if max1**3 >= 10000:
break
max1 += 1
# 根据“四位数条件初步限定范围”
for age in range(10, max1):
n1 = age**3
n2 = age**4
container = set()
if (n2 >= 100000) and (n2 < 1000000):
# “六位数”条件判断
for i in str(n1):
container.add(i)
for i in str(n2):
container.add(i)
if len(container) == 10:
# 凑足10个不重复的数,就满足
print('他当时的年龄为%d岁'%age)