C ++中的可怜猪
假设有1000个水桶,其中一个是有毒的,另一个则装满水。它们看起来都很相似。如果猪喝了毒药,它将在15分钟内死亡。一小时内发现有毒桶所需的最小数量的猪是多少?
因此,现在考虑一般情况并为此设计一种算法。因此,一般情况是,如果有n个不同的水桶,而喝猪的毒药将在m分钟内死亡,那么在p分钟内需要多少只猪才能找到有毒水桶?恰好有一个装有毒药的水桶。
当n=1000,m=15和p=60时,输出将为5。
为了解决这个问题,我们将遵循以下步骤-
ret:=0
while(minutesToTest/minutesToDie+1)^ret<buckets,这样做-
(增加ret1)
返回ret
让我们看下面的实现以更好地理解-
示例
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
int ret = 0;
while(pow((minutesToTest / minutesToDie + 1), ret) < buckets) ret++;
return ret;
}
};
main(){
Solution ob;
cout << (ob.poorPigs(1000,15,60));
}输入值
1000 15 60
输出结果
5
热门推荐
10 分别发的祝福语简短
11 大外甥高考祝福语简短
12 小学毕业校长简短祝福语
13 搞工程发财祝福语简短
14 冬季祝福语男生文案简短
15 同事生子问候祝福语简短
16 退休文案寄语简短祝福语
17 送给自己的祝福语简短
18 简短祝福语毛笔字