PAT (Basic Level) Practice Python解法 1062 最简分数(最简分数判定gcd/分子范围控制)

该博客介绍了使用Python编程解决PAT(BasicLevel)实战题目——找到两个已知分数之间的最简分数。通过读取输入,计算分子和分母的最简形式,然后在指定范围内寻找满足条件的最简分数。主要涉及数学运算、字符串处理和循环结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值