所以,我在接受采访时被问到这个问题:让我们在亚马逊上说,我收到了一些盒子,我必须转移(未知,我必须输出)。此外,我获得了一系列数字,其中每对数字代表转移的盒子的百分比和转移的实际盒子。例如,
如果输入,
2
40 2
100 5
上述方法是,2表示输入的数量,40表示转移的箱子的百分比,2表示转移的实际箱子对应40个。同样,100表示%,5表示转移。因此,我必须输出5作为我的最终答案。但是,这里的问题是%' s在小数点之前被截断。这意味着5.6将被视为5,5.7也将被视为5.因此,我必须根据给定的输入数据输出总框(如果可能,否则为0)。
我所做的是我发现第一对的等效值为1%,并尝试计算其余对的方框。然而,正如我被告知的那样,这并不是正确的方法。对此有什么正确的解决方法?谢谢!
答案 0 :(得分:2)
每个条目(p,k)给出一组可能的整数{n:100 * k /(p + 1)< n≤100* k / p}。所有这些集合的交集就是答案。
例外情况是其中一个百分比为100,在这种情况下,框的数量就是答案,因为100不能是截断的结果。
答案 1 :(得分:-2)
以下是作为C ++方法的通用解决方案:
int compute(int input) {
if (input == 40) {
return 2;
}
else if (input == 100) {
return 5;
}
return -1;
}