欧几里得算法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
相关推荐
架构师那点事儿18 小时前
将 HuggingFace 自己的英译中模型迁移到 ONNX
人工智能·python·深度学习
维克兜率天18 小时前
【维克】配对交易的季节性:哪些品种适合长拿?
android·开发语言·笔记·python·算法·kotlin·量化
276695829218 小时前
国航京东验证码/sm2加密请求头算法采集分析
python·阿里云·国航·机票采集·国航京东验证码·京东验证码·京东点选验证码
沫璃染墨18 小时前
《Qt从零入门系列(十二):Qt文件操作详解——从QFile读写到QFileInfo与记事本实战》
开发语言·网络·c++·qt·交互·信号处理·文件
青少儿编程课堂18 小时前
树上启发式合并详解:子树颜色众数统计与复杂度拆解
c++·python·算法·bfs·信息学竞赛
在世修行18 小时前
干货:表格实时回填
python·qtablewidget
时间的拾荒人19 小时前
Qt 界面布局与容器控件详解:从分组框到布局管理器
开发语言·qt·面试
小白快快跑哦19 小时前
python-字符串全解(六):正则表达式-位置断言
python·正则表达式·位置断言