确定哪个部分更好

时间:2017-04-15 17:19:13

标签: algorithm

给定两个分数,确定哪个分数更有可能给出最大值。

例如我们有1/2和2/4的分数,在这个例子中我挑选了2个随机分数:3 / 4,5 / 3(我不知道这些分数是什么,我只知道n 1 ..100,d 1..100)

求和n和d然后除

1. Fraction 1/2, sum with 3/4, 5/3
    (1+3+5) / (2+4+3) = 9/9 = 1

2. Fraction 2/4 sum with 3/4, 5/3
    (2+3+5) / (4+4+3) = 10/11 = 0.90

对于上面的例子,输出将是1/2。但是,如果不是3/4, 5/3我们拥有所有分数[1..100]/[1..100]

,那么这是真的吗?

1 个答案:

答案 0 :(得分:2)

让我们确定两个随机分数的分子之和(让我们表示为num)和它们的分母之和(denom)。然后我们知道比较的结果。我们只需要找到将numdenom表示为两个分数之和的方法的数量。这正是min(100, x - 1) - max(x - 100, 1) + 1

所以我们只需迭代所有可能的分子和分母总和。只有199 * 199个不同的选项。

但是,100^4是一个非常小的数字,所以你也可以迭代两个随机分数的所有可能的分子和分母。