欧几里得算法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
相关推荐
lsx2024063 分钟前
JSP 自动刷新技术详解
开发语言
我命由我123458 分钟前
Element Plus - Cascader 观察记录(基本使用、动态加载、动态加载下的异常环境)
开发语言·前端·javascript·vue.js·typescript·html5·js
前端付豪10 分钟前
AI知识库 + RAG数学解析增强
前端·python·llm
2401_9001515410 分钟前
自定义异常类设计
开发语言·c++·算法
李斯啦果12 分钟前
【C语言】统计对称素数
c语言·开发语言
Eanve13 分钟前
python搭建webrtc音视频服务端客户端
python·音视频·webrtc
七夜zippoe16 分钟前
PostgreSQL高级特性在Python中的实战:JSONB、全文搜索、物化视图与分区表深度解析
数据库·python·postgresql·性能优化·分区表
小涛不学习17 分钟前
Java List 集合深度解析(ArrayList / LinkedList 原理详解)
java·开发语言·windows
郝学胜-神的一滴20 分钟前
一序平衡,括号归真:单括号匹配算法的优雅美学
java·前端·数据结构·c++·python·算法
清水白石00820 分钟前
Python 方法绑定机制深度解析:bound method、三种方法类型与代码评审实战
开发语言·网络·python