第十一届蓝桥杯省赛 C/C++ 大学B组试题 C: 合并检测
程序员文章站
2022-07-06 21:09:08
...
试题 C: 合并检测
【问题描述】
新冠疫情由新冠病毒引起,最近在 A 国蔓延,为了尽快控制疫情,A 国准
备给大量民众进病毒核酸检测。
然而,用于检测的试剂盒紧缺。
为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人(k
个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 k
个人都是阴性,用一个试剂盒完成了 k 个人的检测。如果结果为阳性,则说明
至少有一个人为阳性,需要将这 k 个人的样本全部重新独立检测(从理论上看,
如果检测前 k 1 个人都是阴性可以推断出第 k 个人是阳性,但是在实际操作中
不会利用此推断,而是将 k 个人独立检测),加上最开始的合并检测,一共使用
了 k + 1 个试剂盒完成了 k 个人的检测。
A 国估计被测的民众的感染率大概是 1%,呈均匀分布。请问 k 取多少能
最节省试剂盒?
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
#include <bits/stdc++.h>
using namespace std;
int main() {
int N = 1000;
int ans;
int minn = 9999999;
int sum = 0;//试剂盒的数量
for (int k = 1;k <= 1000;k++) {
if (N % k == 0) {
sum = N / k + 10 * k;
} else {
sum = N / k + 10 * k + 1;
}
if (sum < minn) {
minn = sum;
ans = k;
}
}
cout << ans;
return 0;
}
上一篇: 国产007(1)
推荐阅读
-
第十届蓝桥杯C++B组省赛试题 D: 数的分解
-
2015年第六届C/C++ B组蓝桥杯省赛真题
-
第十一届蓝桥杯省赛C语言B组——试题 D: 跑步锻炼
-
2019年省赛第十届蓝桥杯B组C/C++试题F解 特别数的和
-
蓝桥杯2019 B组C省赛真题 2019-6 试题F 特别数的和
-
【蓝桥杯考前突击】第十届蓝桥杯省赛C/C++大学B组 试题 G 完全二叉树的权值
-
【蓝桥杯省赛】第十一届蓝桥杯省赛C/C++大学B组第二场 试题G 回文日期
-
【蓝桥杯考前突击】第十届蓝桥杯省赛C/C++大学B组 试题 D 数的分解
-
【蓝桥杯省赛】第十一届蓝桥杯省赛C/C++大学B组第二场 试题B 既约分数
-
第十一届蓝桥杯省赛 C/C++ 大学B组试题 C: 合并检测