#include <bits/stdc++.h>
using namespace std;
int n;
double p;
double f(int k){
return n/k + n*(1-pow(1-p,k));
}
int main()
{
cin>>n>>p;
double e=n;
int ans=1;
for(int k = 1; k <= n; k++){
if(n%k==0){
if(f(k)<e){
ans=k;
e=f(k);
}
}
}
cout<<ans;
return 0;
}
每组 K
只宠物混合检测 只需要 1 支测试剂。
- 如果结果是 阴性,说明这
K
只宠物都没感染,不需要进一步检测。 - 如果结果是 阳性,则需要对该组内的
K
只宠物进行单独检测,额外消耗K
支测试剂。