第1题 (10.0分) 题号:1204 难度:中 第30章# -*- coding:cp936 -*-
'''------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:求两个非负整数的最大公约数和最小公倍数。
---------------------------------------------------------
注意:除要求填空的位置之外,请勿改动程序中的其他内容。
------------------------------------------------------'''
def hcf(x, y):
"""该函数返回两个数的最大公约数"""
#**********SPACE**********
if x 【?】 y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
#**********SPACE**********
if((x % i == 0) 【?】 (y % i == 0)):
hcf = i
return hcf
def lcm(a, b):
"""该函数返回两个数的最小公倍数"""
#**********SPACE**********
if 【?】:
a, b = b, a
if a % b == 0:
return a
mul = 2
#**********SPACE**********
while 【?】 != 0:
mul += 1
return a*mul
def main():
# 用户输入两个数字
num1 = int(input("输入第一个非负整数数字: "))
num2 = int(input("输入第二个非负整数数字: "))
print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))
if __name__ == '__main__':
main()