题目
回到小学----
真分数:分子小于分母的分数
既约分数:分子分母互质,也就是说最大公约数是1
x星球数学城的入口验证方式是:
屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。
同时限定你的这个分数的分母不能超过100。
解题思路
- 暴力解题。
- 输入分子和分母,写一个判断分数是否是既约分数的函数。
- 然后逐渐减小分子的数值,直到找到比原来分数小的那个既约分数。
- 注意: 需要处理一下分母大于100的情况,如果分母大于100,那么分母和分子就每次除以10,直到分母不大于100为止。
Code
# -*- coding:UTF-8 -*-
"""
@Project :蓝桥杯训练营
@File :稍小分数.py
@IDE :PyCharm
@Author :Kinght_123
@Date :2022/1/5 9:10
"""
a = int(input("请输入分数的分子:"))
b = int(input("请输入分数的分母:"))
num = float(a / b)
def check(a, b):
for i in range(b + 1):
if b % a == 0:
return False
return True
while a != 0:
while b > 100:
a /= 10
b /= 10
if check(int(a), int(b)) and a / b != num:
print(f'{int(a)} / {int(b)}')
break
a -= 1