python实现蓝桥杯真题:猜美国数学家维纳的年龄

您所在的位置:网站首页 数学家年龄问题怎么解决 python实现蓝桥杯真题:猜美国数学家维纳的年龄

python实现蓝桥杯真题:猜美国数学家维纳的年龄

2024-07-11 08:39| 来源: 网络整理| 查看: 265

猜年龄 题目描述思路实现

题目描述

美国数学家维纳(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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3