python:求整數num範圍內的勾股數,並統計a,b,c三個元素互為質數的勾股數的數量
阿新 • • 發佈:2018-12-09
def gcd(m,n): # 求兩個數的最大公約數,若為1則互為質數,返回TRUE if n== 0: m,n = n,m while m !=0: m,n = n%m, m if n == 1: return True else: return False def gou_number(num =10): N = [i for i in range(1,num+1)] M = [i*i for i in range(1,num+1)] n=0 number = 0 for i in M: for j in M[n:]: if i+j in M: a = N[M.index(i)] b = N[M.index(j)] c = N[M.index(i+j)] if gcd(a,b) and gcd(a,c) and gcd(b,c): # abc是否互為質數 number += 1 n += 1 return number print(gou_number())