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

2022/1/10 17:04:38

本文主要是介绍【思特奇杯·云上蓝桥-算法集训营】第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


这篇关于【思特奇杯·云上蓝桥-算法集训营】第1周 稍小分数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程