小编Diz*_*zle的帖子

正方形是两个正方形之和的数字列表

我刚刚开始学习Python并且已经开始做一些问题只是为了帮助提高我的技能,但是我非常坚持这个问题.

制作一个包含所有高达1000的正整数的列表,其正方形可以表示为两个正方形的和(i,例如,整数p,其中p ^ 2 = m ^ 2 + n ^ 2,其中m和n是整数大于0.)

提示:有几种方法.您可能会发现列出所有方形数字会很有帮助.in运算符可能很有用.

这是我到目前为止提出的代码:

    numbers=xrange(1001)
    numbers_squared=[x**2 for x in numbers]
    a=[]

    for x in numbers_squared:
        for b in numbers_squared:
            if (x+b)**.5 <= 1001:
                a.append(x+b)
    print a
Run Code Online (Sandbox Code Playgroud)

我得到的问题是Python需要数年才能完成这些计算(我等了大约十分钟,它仍在打印数字).任何关于如何解决这个问题的提示都将非常感激.

ps重点是使用列表.此外,提示将比解决方案本身更受欢迎.

谢谢!

python numbers sum perfect-square python-2.7

7
推荐指数
2
解决办法
3641
查看次数

标签 统计

numbers ×1

perfect-square ×1

python ×1

python-2.7 ×1

sum ×1