题目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)

 

posted @ 2022-06-22 21:40  hoo_o  阅读(118)  评论(0编辑  收藏  举报