📜  找到 3 到 6 之间的有理数(1)

📅  最后修改于: 2023-12-03 15:25:49.843000             🧑  作者: Mango

找到 3 到 6 之间的有理数

如果要找到3到6之间的有理数,我们可以从分数的角度考虑。

3可以写成3/1,而6可以写成6/1。因为3和6的最大公约数是3,所以我们可以将3/1和6/1化简为1/3和2/1。

于是,3到6之间的所有有理数都可以表示为m/n的形式,其中m和n是整数,且1/3 <= m/n <= 2/1。

我们可以通过枚举m和n来找到所有符合条件的m/n。由于m和n必须是整数,我们可以从1开始逐步增加m和n的值,直到m/n的值超出范围为止。

下面是一个Python函数,用于找到3到6之间的所有有理数:

def find_rational_numbers():
    result = []
    for n in range(1, 7):
        for m in range(1, 2*n+1):
            if 1/3 <= m/n <= 2/1:
                result.append(f"{m}/{n}")
    return result

返回的结果是一个列表,包含所有符合条件的有理数:

- 1/3
- 2/3
- 1/2
- 3/4
- 1/1
- 4/1
- 5/1
- 6/1

在这个函数中,我们先通过两重循环枚举m和n的值,然后判断它们的比值是否在指定范围内。如果是,就将它们添加到结果列表中。最后,函数返回结果列表。

这个函数可以通过以下代码进行测试:

def test_find_rational_numbers():
    assert find_rational_numbers() == [
        "1/3", "2/3", "1/2", "3/4",
        "1/1", "4/1", "5/1", "6/1"
    ]
    
test_find_rational_numbers()

这个测试函数会检查find_rational_numbers函数是否返回了正确的结果。