【基础入门题043】最大公约数
2023-09-14 09:01:29 时间
【基础入门题】2021.12.09
给定两个正整数数,求这两个数的最大公约数。
编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道
————————————————
方法一:for循环
def GCD(m, n):
gcd = 1 # 此行可以省略
for i in range(1,min(m, n)+1):
if m%i==0 and n%i==0:
gcd = i
return gcd
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
方法二:while循环
def GCD(m, n):
while m!=n:
if m>n: m -= n
else: n -= m
return m
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
方法三:递归法
def GCD(m, n):
if n==0: return m
return GCD(n, m%n)
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
方法四:辗转相除法
def GCD(m, n):
while n!=0:
m, n = n, m%n
return m
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
方法五:递减法
def GCD(m, n):
gcd = min(m, n)
while m%gcd or n%gcd:
gcd -= 1
return gcd
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
方法六:库函数math.gcd
from math import gcd
print(gcd(81,3))
print(gcd(81,15))
print(gcd(81,54))
或者:直接用 __import__('math').gcd
__import__('math').gcd(81,3)
__import__('math').gcd(81,15)
__import__('math').gcd(81,54)
方法七:约分法,库函数fractions.Fraction()
def GCD(m, n):
from fractions import Fraction
return m//Fraction(m, n).numerator #取分子
#return n//Fraction(m, n).denominator #或取分母
print(GCD(81,3))
print(GCD(81,15))
print(GCD(81,54))
以上方法的答案均为 3,3,27。
欢迎加入CSDN社区!https://bbs.csdn.net/forums/PythonTogether?typeId=18060
相关文章
- RT-Thread零基础快速入门第7讲——FinSH控制台「建议收藏」
- Repeater使用方法—基础数据绑定+多级嵌套「建议收藏」
- MySQL基础课堂笔记「建议收藏」
- python入门与基础刷题篇(9)
- 1.Powershell基础入门介绍与安装升级
- JavaSE基础(32) 遍历数组的3种方式
- 流媒体视频基础 MSE 入门 & FFmpeg 制作视频预览缩略图和 fmp4
- MyBatis 从入门到放弃 ( MyBatis基础总结 )
- NAT网络地址转换_路由交换基础
- Python基础语法入门篇(一)
- MongoDB数据库基础 查询文档的相关操作介绍
- java基础学习总结——Object类详解编程语言
- ABAP基础三——DIALOG整体详解编程语言
- Linux编程入门:基础文档指南(linux编程文档)
- Linux 基础:轻轻松松入门,助您愉快学习(linux基础学习)
- MySQL DATABASE基础代码:入门指南(mysql数据库基础代码)
- Oracle入门掌握基础的SQL命令(oracle入门命令)
- OraclePL/SQL语言入门基础
- linq语法基础使用示例