python实现蓝桥杯真题:猜美国数学家维纳的年龄
猜年齡
- 題目描述
 - 思路
 - 實現(xiàn)
 
題目描述
美國數(shù)學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:“我年齡的立方是個4位數(shù)。我年齡的4次方是個6位數(shù)。這10個數(shù)字正好包含了從0到9這10個數(shù)字,每個都恰好出現(xiàn)1次。” 請編程輸出當年維納的年齡。
 ????????????????????????????????????????????????????????????????????????????????????????????????
 輸入格式
 該題目沒有輸入????????????????????????????????????????????????????????????????????????????????????????????????
輸出格式
 一個正整數(shù)(維納當年的年齡)
思路
根據(jù)題目得知,當年維納的年齡的立方是個4位數(shù)。年齡的4次方是個6位數(shù)。估算4位數(shù)最大為9999,最小為1000,6位數(shù)最大為999999,最小為100000,得到兩個區(qū)間,年齡只能有一個數(shù),綜合得出年齡范圍在17-21中間。代入每個數(shù)計算后就能得出結果。
 如果不考慮區(qū)間,一開始就計算,直接用程序來解決問題。遍歷數(shù)值,符合要求的輸出。首先確定年齡的范圍,根據(jù)題干,維納最小為10歲才能達到年齡的3次方為4位數(shù),最大通過口算無法得出,但維納年輕的面孔,我這里假定他最大為40歲。(也許維納保養(yǎng)的比較好,hh)
 將年齡的3次方與4次方計算數(shù)值合并,得出的數(shù)值剛好是由0到9組成的。
實現(xiàn)
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) #將年齡數(shù)值合并if len(set(s))==len(num): #判斷元素個數(shù)是否相同print(i) #相同則輸出年齡break總結
以上是生活随笔為你收集整理的python实现蓝桥杯真题:猜美国数学家维纳的年龄的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 有虚继承的类其有几个虚继承的基类则该类就
 - 下一篇: VS Code 食用小结