【思特奇杯·云上蓝桥-算法集训营】第1周 稍小分数

目录

问题描述

回到小学----
真分数:分子小于分母的分数
既约分数:分子分母互质,也就是说最大公约数是 1
x 星球数学城的入口验证方式是:
屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个 分数越大越好。 同时限定你的这个分数的分母不能超过 100

思路分析及代码实现

def gcd(a, b):
        if b == 0:
                return a
        return gcd(b, a%b)

def solve(a, b):
        max_a = 0
        max_b = 1
        for i in range(100,1,-1):
                for j in range(i-1,0,-1):
                        if j * b < a * i and gcd(j, i)==1:
                                if max_a * i < max_b * j:
                                        max_a = j
                                        max_b = i
                                        break
        return max_a, max_b
上一篇:C. 欧拉函数


下一篇:es 学习笔记