Python一道简单的练习,求两数的最大公约数

**

练习:输入两个数,求它们的最大公约数

**
使用语言:Python 3.7.3

首先明确思路:
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。——来自百度百科
也就是说,只要我们把两个数所有共同的约数算出,再取最大的即可。

直接贴代码

# -*- coding: utf-8 -*-
# @Time    : 2019-11-04 20:30
# @Author  : 007
# @File    : 练习2-输入两个数,求这两个数的最大公约数.py
# @Software: PyCharm
print('输入两个数求它们的最大公约数')
num1 = int(input('请输入第一个数'))
num2 = int(input('请输入第二个数'))
if num1 > num2:
    max = num1
else:                       # 这个if-else循环是比较输入的两数大小,以确定最终公约数的右边界
    max = num2
list = []                   # 新建一个列表
i = 1
while i <= max:             # 公约数的范围,在此范围内循环计算
    if num1 % i == 0 and num2 % i == 0:         # 公约数的条件
        list.append(i)      # 把所有公约数由小到大放到列表里
    i += 1                  # 一个个地计算公约数
print('这两个数的最大公约数是:%d' % (list[-1]))    # 因为列表是将公约数由小到大排序,所以最后一个元素肯定就是最大公约数,print之

以下是一次的运算结果:

输入两个数求它们的最大公约数
请输入第一个数1000
请输入第二个数600
这两个数的最大公约数是:200

Process finished with exit code 0

最后就完成啦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值