题目1
""" 如果三个正整数A、B、C ,A²+B²=C²则为勾股数 如果ABC之间两两互质,即A与B,A与C,B与C均互质没有公约数, 则称其为勾股数元组。 请求出给定n~m范围内所有的勾股数元组 输入描述 起始范围 1 < n < 10000 n < m < 10000 输出描述 ABC保证A<B<C 输出格式A B C 多组勾股数元组,按照A B C升序的排序方式输出。 若给定范围内,找不到勾股数元组时,输出Na。 """ # 勾股使用if判断A²+B²=C²即可,较容易 # 但是为了只打印输出3,4,5,而不打印输出6,8,10或者9,12,15这种,则需要在判断勾股时加入互斥的判断 # 互斥的判断使用两个数分别除以i(range(2,min(x,y))),如果两个数都能除以并且余数为0,则存在最小公因数(i),即不互斥,返回False,则在判断勾股时直接不满足,则不输出 m = int(input()) n = int(input()) def huchi(x,y): M = min(x,y) for i in range(2,M): if(x%i==0 and y%i==0): return False return True for i in range(m+1,n): for j in range(i+1,n): for k in range(j+1,n): if (i*i + j*j == k*k and huchi(i,j) and huchi(j,k) and huchi(i,k)): print(i,j,k)