首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python|平方怪圈

问题描述 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理,如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。...但是,如何知道新产生的正整数已经存在列表中。...因为这道题是要找循环圈,不知道要按平方和处理多少次的,所以基本都是采用while循环,但如果在while循环后面的条件是新产生的正整数不在列表内,后面总有一步是列表添加新的正整数,所以while循环只能循环...100,23等数lis = [] #创立一个空列表while len(set(lis)) == len(lis): a, b = 0, a #a恢复为0,便于储存平方和...for i in list(str(b)): a += int(i)**2 lis.append(a)print(max(lis)) 结语 这道题没什么难点,唯一重要的就是如何结束循环

74120
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python-100 练习题 03 完全平方

    2019年第 15 篇文章,总第 39 篇文章 本文大约 1600 字,阅读大约需要 8分钟 练习题 3 的网址: http://www.runoob.com/python/python-exercise-example3....html ---- Example-3 完全平方数 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?...: x+100 = m**2 (1) x+100+168 = n**2 (2) m, n都是正整数,接着就是先根据求解一元二次方程组的做法,可以得到 n**2 - n**2 = 168 (3) 利用平方差分解上式...这种情况下,结合(4)和(5),可以推导得到i,j都是大于等于 2 的偶数,又根据(6),可以推导到i,j的范围是: 1 < j < i < 85 这里是假设了i > j的情况,因为不存在一个偶数的平方就是...2 - 100, end=',') 输出结果都是: -99,21,261,1581, 源代码在: https://github.com/ccc013/CodesNotes/blob/master/Python

    1.2K10

    完全平方

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。...队列的这种写法也是很有趣Queue queue = new LinkedList(); 对于这个问题建模: 整个问题转化为一个图论问题,从n到0,每个数字表示一个节点,如果有两个数字x到y相差一个完全平方数...四平方定理: 任何一个正整数都可以表示成不超过四个整数的平方之和。 满足四数平方和定理的数n(这里要满足由四个数构成,小于四个不行), 必定满足 n=4a(8b+7) 或者使用动态规划。...下面我们来用bfs解题,以n=13为例,请看下图13开始,第一遍:距离1X1可以到12节点,距离2X2可以到9节点,距离3X3可以到4节点,距离4X4超过13了肯定到不了0节点;第二遍将跨过jXj完全平方数能到达的点加入已清空的队列...,再广度遍历,遍历到9节点时,发现有距离是完全平方数3X3可以到达0节点。

    42310
    领券