欧几里得算法python

一、问题描述

求最大公约数

python 复制代码
class Fraction:
    def __init__(self, a, b):
        self.a = a
        self.b = b
        x = self.gcd(a, b)
        self.a /= x
        self.b /= x

    def gcd(self, a, b):
        while b >0:
            r = a % b
            a = b
            b = r
        return a

    def zgs(self, a, b):
        x = self.gcd(a, b)
        return a / x * b

    def __add__(self, other):
        a = self.a
        b = self.b
        c = other.a
        d = other.b
        fenmu = self.zgs(b, d)
        fenzi = a * fenmu / b + c * fenmu / d
        return Fraction(fenzi, fenmu)

    def __str__(self):
        return "%d/%d" % (self.a, self.b)

a = Fraction(1, 3)
b = Fraction(1, 2)
print(a+b)

二、结果展示

python 复制代码
5/6
相关推荐
hanbr几秒前
C++ 初涉
开发语言·c++
Дерек的学习记录1 分钟前
C++:入门基础(下)
开发语言·数据结构·c++·学习·算法·visualstudio
徐同保12 分钟前
python异步函数语法解析,async with ... as ...语法解析
数据库·python·oracle
云小逸22 分钟前
【nmap源码解析】Nmap 核心技术深度解析:从源码到实战
开发语言·网络·windows·nmap
m***066839 分钟前
SpringBoot项目中读取resource目录下的文件(六种方法)
spring boot·python·pycharm
前路不黑暗@1 小时前
Java项目:Java脚手架项目的公共模块的实现(二)
java·开发语言·spring boot·学习·spring cloud·maven·idea
人道领域1 小时前
Spring核心注解全解析
java·开发语言·spring boot
eWidget1 小时前
数据可视化进阶:Seaborn 柱状图、散点图与相关性分析
数据库·python·信息可视化·kingbase·数据库平替用金仓·金仓数据库
云深麋鹿1 小时前
标准库中的String类
开发语言·c++·容器