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是为了找出所有能同时被两个数整除的正整数

 

就这样吧 ,也不难,才开始学,有疑问留言,一起进步

posted @ 2019-09-14 20:22  漂泊的小虎  阅读(2566)  评论(0编辑  收藏  举报