1.算法思想:
输入两个数m,n,求两个数的最大公因数和最小公倍数。
最大公约数:定义一个变量i,令其等于m,n中较小的数,再用m,n分别对i求余数,若两个余数都等于零,则i为最大公约数,若有余数不为零,令i-1,再次求余,直到余数都为0。
最小公倍数:定义一个变量i,令其等于m,n中较大的数,再用i对m,n分别求余数,若两个余数都等于零,则i为最小公倍数,若有余数不为零,令i+1,再次求余,直到余数都为0。
Python代码:
def greatest(m, n): i = n if n < m else m while i >= 1: if m % i == 0 and n % i == 0: return i i -= 1 def smallest(m, n): i = m if m > n else n while 1: if i % m == 0 and i % n == 0: return i break i += 1 m = int(input('请输入第一个数:')) n = int(input('请输入第二个数:')) maxNum = greatest(m, n) minNum = smallest(m, n) print('最大公因数为:' + str(maxNum)) print('最小公倍数为:' + str(minNum))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)