欧几里得算法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
相关推荐
2401_887724501 分钟前
Pandas 中使用交叉表为分类列生成计数型宽表结构
jvm·数据库·python
阿拉金alakin3 分钟前
深入理解 Java 线程池:核心参数、工作流程与常用创建方式
java·开发语言·java-ee
justjinji4 分钟前
PHP函数如何识别PCI设备厂商ID_PHP获取扩展卡硬件标识【说明】
jvm·数据库·python
2201_761040596 分钟前
怎么监控MongoDB副本集的复制缓冲区积压_复制流速率评估
jvm·数据库·python
2402_854808377 分钟前
Layui tab选项卡如何动态根据ID值进行程序化切换
jvm·数据库·python
m0_377618237 分钟前
mysql如何设置字段为自动递增_使用alter table添加auto increment
jvm·数据库·python
kronos.荒7 分钟前
N皇后问题(python)
python·回溯
Wyz201210247 分钟前
Navicat导入HTML网页报错怎么跳过_忽略错误记录高级选项
jvm·数据库·python
小江的记录本9 分钟前
【网络安全】《网络安全三大加密算法结构化知识体系》
java·前端·后端·python·安全·spring·web安全
InfinteJustice10 分钟前
CSS Grid布局如何实现响应式卡片网格_结合媒体查询调整列数
jvm·数据库·python