python3求两个数的最大公约数
啥叫公约数呢?
公约数:它是一个能被若干个整数同时均整除的整数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数
举个栗子:12和18的公约数有 1、2、3、6 因为12和18能同时被这几个数整除。其中6是最大的公约数
程序实现思路:
1 两个数的最大公约数肯定不会大于两个数中较小的数
2 如果较大的数能整除较小的数,那较小的数就是最大公约数
3 即: 将两整数求余 a%b = x
4 如果x = 0;则b为最大公约数
5 找出能同时被两个数整除的正整数
6 打印所有同时被整除的最大的一个数,这个数就是最大公约数
代码实现方法:
Number1 = int(input("请输入第一个正整数:"))
Number2 = int(input("请输入第二个正整数:"))
if Number1>Number2:
ten = Number1
Number1 = Number2
Number2 = ten
for i in range(1,Number1):
if Number2 % Number1 == 0:
c = Number1
elif (Number1 % i ==0) and (Number2 % i == 0):
c = i
print("数字%s和%s的最大公约数是:%s" %(Number1,Number2,c))
其中第一个if,主要是将较小的值固定给到Number1,方便后边取值
第二个if 是为了实现上述思路中的第四行
elif是为了找出所有能同时被两个数整除的正整数
就这样吧 ,也不难,才开始学,有疑问留言,一起进步
学如逆海行舟,不进则退。