概述
猜年龄
- 题目描述
- 思路
- 实现
题目描述
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请编程输出当年维纳的年龄。
输入格式
该题目没有输入
输出格式
一个正整数(维纳当年的年龄)
思路
根据题目得知,当年维纳的年龄的立方是个4位数。年龄的4次方是个6位数。估算4位数最大为9999,最小为1000,6位数最大为999999,最小为100000,得到两个区间,年龄只能有一个数,综合得出年龄范围在17-21中间。代入每个数计算后就能得出结果。
如果不考虑区间,一开始就计算,直接用程序来解决问题。遍历数值,符合要求的输出。首先确定年龄的范围,根据题干,维纳最小为10岁才能达到年龄的3次方为4位数,最大通过口算无法得出,但维纳年轻的面孔,我这里假定他最大为40岁。(也许维纳保养的比较好,hh)
将年龄的3次方与4次方计算数值合并,得出的数值刚好是由0到9组成的。
实现
num={'1','2','3','4','5','6','7','8','9','0'}
#定义0-9字符的集合
for i in range(10,40):
#遍历
s=str(i**3)+str(i**4)
#将年龄数值合并
if
len(set(s))==len(num):
#判断元素个数是否相同
print(i)
#相同则输出年龄
break
最后
以上就是玩命曲奇为你收集整理的python实现蓝桥杯真题:猜美国数学家维纳的年龄题目描述思路实现的全部内容,希望文章能够帮你解决python实现蓝桥杯真题:猜美国数学家维纳的年龄题目描述思路实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复