如何运行这个必须检查2 x 10^25组合的python程序?

如何运行这个必须检查2 x 10^25组合的python程序?,python,Python,我写了一个程序,生成前32个自然数的所有可能列表,并检查相邻数之和是否为完美平方 程序必须迭代2.3e25列表(相当多的零)。每当我运行该程序时,python内核就会崩溃。如何运行此程序 我的代码是 from itertools import permutations import math def check(nums): for i in range(len(nums) - 1): y = nums[i] + nums[i + 1] z = y *

我写了一个程序,生成前32个自然数的所有可能列表,并检查相邻数之和是否为完美平方

程序必须迭代2.3e25列表(相当多的零)。每当我运行该程序时,python内核就会崩溃。如何运行此程序

我的代码是

from itertools import permutations
import math 
def check(nums):
    
    for i in range(len(nums) - 1):
      y = nums[i] + nums[i + 1]
      z = y ** 0.5
      #till here found the square root of the sum of the adjacent numbers in list
      if z.is_integer() ==False:
        
      # if there is some two numbers that don't meet condition, function will return False
        return False
      return nums

x = list(permutations(range(1, 33)))

for q in range(len(x)):
    if (check(x[q])):
        print(x[q])
        break
我要寻找的答案是 [1,8,28,21,4,32,17,19,30,6,3,13,12,24,25,11,5,31,18,7,29,20,16,9,27,22,14,2,23,26,10,15]

请帮帮我

PS感谢之前帮助我编写函数的成员
x
太大了,无法存储为列表<代码>置换创建一个生成器,这意味着它将动态生成值。这允许您在不存储所有值的情况下对其进行迭代

x = permutations(range(1, 33))

for num in x:
    if (check(num)):
        print(num)
        break
虽然这回答了您的问题,但您的程序仍然无法解决您的问题。问题不是暴力可以这样解决的