我是靠谱客的博主 想人陪蜻蜓,最近开发中收集的这篇文章主要介绍python猜美国数学家维纳的年龄,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述
        美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请编程输出当年维纳的年龄。
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

思路

    先if...else...语句,对数字范围限制,分别将年龄i的三次方的个位、十位、百位、千位数分别添加到空列表L1中,将年龄i的四次方的个位、十位、百位、千位、万位、十万位数添加到空列表L2中。对L1、L2两个列表进行合并去重,去重的时候用set()得到L4,对L4,L3进行排序sort()(这一点是关键,比较菜卡在这半天),最后,对比L4是否等于L3。输出年龄i.

L1 = []
L2 = []
L4 = []
L3 = [0,1,2,3,4,5,6,7,8,9]
for i in range(0, 101):
        if(i**3>=1000 and i**3<=9999 and i**4>=100000 and i**4<=999999):
            L1.append((i**3)%10)
            L1.append((i**3)/10%10)
            L1.append((i**3)/100%10)
            L1.append((i**3)/1000%10)
            L2.append((i**4)%10)
            L2.append((i**4)/10%10)
            L2.append((i**4)/100%10)
            L2.append((i**4)/1000%10)
            L2.append((i**4)/10000%10)
            L2.append((i**4)/100000%10)
            L4 = L1 +L2
            L4 = list(set(L4))
            L4 = L4.sort()
            L3 = L3.sort()
            if(L4 == L3):
                print(i)
                break
            else:
                print(i)
                continue
        else:
            continue

 这个方法比较笨仅供参考(有好的方法评论区交流互相学习一下 嘿嘿嘿)

最后

以上就是想人陪蜻蜓为你收集整理的python猜美国数学家维纳的年龄的全部内容,希望文章能够帮你解决python猜美国数学家维纳的年龄所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部