1。求最小公倍数
思路:首先比较两个数的大小,找出大的那个数,再用大的那个数的倍数,从小到大,开始尝试整除小一点的那个数,整除成功时大的那个数的倍数,就是两个数的最小公倍数。
#代码用于实现两个整数间的最小公倍数算法:
def fangfa(a,b):
if a>b:
bigger=a
smaller=b
else:
bigger=b
smaller=a
i=1
while True:
if (bigger*i)%smaller==0: #如果大的那个数,一旦他的倍数能整除小的那个数,就直接跳出循环,他的倍数就是最小公倍数
print('最小公倍数为:',(bigger*i))
break
i+=1
if __name__ == '__main__':
a = int(input('请输入第一个数:'))
b = int(input('请输入第二个数:'))
fangfa(a,b)
2。求最大公约数
思路:首先也是比较两个整数之间的大小关系,找到比较小的那个数。然后开始取值(从1开始尝试,到比较小的那个数结束),如果中间有个数恰好能把两个整数整除,那么y=那个数。中间可能有好几个数都可以把两个整数整除(公约数),但到取值结束,y中的值,必然是可以把两个整数整除的那些数中,值最大的——-最大公约数
#该函数返回两个整数的最大公约数""
def fangfa(a,b):
if a>b:
smaller=b
else:
smaller=a
y=1 #给出一个默认值
for i in range(1,smaller+1): #range函数左闭右开
if (a%i==0) and (b%i==0): #如果是公约数,y等于公约数;然后如果再找到一个更大的公约数,y被更大公约数覆盖
y=i
# break #如果加break就是遇到最小的公约数就跳出循环,展示出最小公约数
print('最大公约数为:',y)
if __name__ == '__main__':
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
fangfa(a,b)