求最大公约数

python

法一:(求差运算)

法二: 定义法: 最大公约数: 同时被整除的最大正整数(求模运算)

"""
goal: claculate the gcd
author: Cindy
datatime: 2017/ 12/ 11
"""


def get_gcd_one_way(num_1, num_2):

    while num_2 != 0:
        if num_1 < num_2:
            temp = num_1
            num_1 = num_2
            num_2 = temp

        t = num_1 - num_2
        num_1 = num_2
        num_2 = t
    return num_1


def get_gcd_another_way(a, b):

    index = min(a, b)
    gcd = 1
    for i in range(2, index+1):
        if a % i == 0 and b % i == 0:
            gcd = i
        else:
            continue
    return gcd


if __name__ == '__main__':

    m = input('please input a number: ')
    n = input('please input another number: ')
    print('The one way gcd is: ', get_gcd_one_way(eval(m), eval(n)))
    print('The another way gcd is', get_gcd_another_way(eval(m), eval(n)))

运行结果:

please input a number: 16
please input another number: 48
The one way gcd is:  16
The another way gcd is 16



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值