x 是我的输入。我需要找到 i,j>=0 和 n,m>1 例如x = i**m+j**n
现在我一直在这样做,但速度很慢!我该如何改进它?
from math import sqrt
import numpy as np
def check(x):
for i in range(1,int(np.ceil(sqrt(x)))):
for j in range(1,int(np.ceil(sqrt(x)))):
for m in range(2,x/2+1):
for n in range(2,x/2+1):
if((pow(i,m) +pow(j,n))==x):
print 'Yes';
return ;
print 'No';
Run Code Online (Sandbox Code Playgroud)
谢谢 !