pat 乙级 1062 最简分数

题目给定两个分数A,B(假定A<B),再给一个整数,只需要从给定的整数作为分母,然后从一开始遍历,大于A开始一直到大于B。

    a, b, d = input().split()
    a = eval(a)
    b = eval(b)
    if a > b:
        a, b = b, a
    d = int(d)
    x = 1
    rst = []
    while x / d < b:
        if x / d > a:
            flag = 0
            for i in range(2, max(d, x) + 1):
                if x % i == 0 and d % i == 0:
                    flag = 1
                    break
            if flag == 0:
                rst.append(x)
        x += 1
    rst = map(lambda v: str(v) + '/{}'.format(d), rst)#这个是给rst中的元素进行统一的操作
    print(' '.join(rst))
posted @ 2022-03-04 10:57  天然气之子  阅读(25)  评论(0编辑  收藏  举报