欧几里得算法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
相关推荐
霍珵蕴几秒前
Lisp语言的计算机视觉
开发语言·后端·golang
褚翾澜几秒前
Lisp语言的无线通信
开发语言·后端·golang
weixin_307779133 分钟前
判断HiveQL语句为ALTER TABLE语句的识别函数
开发语言·数据仓库·hive·c#
Niuguangshuo10 分钟前
Python设计模式:责任链模式
开发语言·python·责任链模式
甄霓裳12 分钟前
APL语言的游戏音效
开发语言·后端·golang
小杨40431 分钟前
python入门系列十五(asyncio)
人工智能·python·pycharm
爱学习的capoo33 分钟前
对应列表数据的分割和分组
python·pandas
Billy Qin35 分钟前
Shell四种配置文件的区别(~/.bashrc ~/.bash_profile ~/.zshrc ~/.profile)
开发语言·bash
点燃大海42 分钟前
MySQL表结构导出(Excel)
java·数据库·python·mysql·spring
Hole_up1 小时前
蓝桥杯真题-分糖果-题解
python·算法·职场和发展·蓝桥杯