题目标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
这道题直接暴力解就行,我的思路就是先把年龄的立方与年龄的四次方两个数利用字符串的特性拼接在一起,然后遍历一个含有0-9的列表去统计拼接后的字符串中的元素个数,只要元素个数不是1,那么判断值清零,直接进行下一个数的判断,最后判断值如果不为0,那么此时的数值就是结果
def solve():
list1 = [0,1,2,3,4,5,6,7,8,9]
judge = 0
for i in range(10, 100):
str1 = str(i ** 3) + str(i ** 4)#拼接字符串
for j in list1:
if str1.count(str(j)) == 1:#判断元素个数是否为1
judge = 1
else:
judge = 0
break
if judge != 0:
return i
print(solve())