PAT (Basic Level) Practice Python解法 1062 最简分数(最简分数判定gcd/分子范围控制)
import math
a, b, fm =input().split(' ')
fm = int(fm)
a1 = a.split('/')
b1 = b.split('/')
num1 = int(a1[0])/int(a1[-1])
num2 = int(b1[0])/int(b1[-1])
if num1>num2:
num1,num2 = num2,num1#左右位次交换
left = int(num1*fm)#左侧最小
right = int(num2*fm)+1#右侧最大
otp = ''
for fz in range(left,right):
if math.gcd(fz,fm)==1 and (fz/fm) > num1 and (fz/fm) < num2:
otp += str(fz)+'/'+ str(fm) + ' '
print(otp.rstrip())
该博客介绍了使用Python编程解决PAT(BasicLevel)实战题目——找到两个已知分数之间的最简分数。通过读取输入,计算分子和分母的最简形式,然后在指定范围内寻找满足条件的最简分数。主要涉及数学运算、字符串处理和循环结构。
&spm=1001.2101.3001.5002&articleId=120052550&d=1&t=3&u=aef6d2b63be246328fa644320547f9f8)
4577

被折叠的 条评论
为什么被折叠?



