描述
两年前的今天,疫情肆虐武汉,曾经几毛钱的一个一次性医用口罩供不应求,价格也是水涨船高,更有甚者一只口罩卖到了10元。在利益的驱使下也让一些不良商家道德涣散,据相关报道,有商家回收废弃口罩并重新包装销售,这种行为让人们深恶痛绝,阳光社区决定采取行动,他们计划集中处理,回收小区居民的废弃口罩,不让不良商家有可乘之机。
为了调动小区居民的参与度和项目的可行性,他们想出来了个办法——有奖回收。流行的口罩型号有两种,一种为普通医用外科口罩,一种为KN95口罩,他们想在小区门口设立回收点,每当居民回到小区就把自己用过的口罩丢进回收箱里,并在记录本上登记投入口罩数量,每当居民累计投入5个普通医用外科口罩即可得到1只新的普通医用外科口罩,累计投入1只KN95口罩即可获得1只新的普通医用外科口罩,这不仅让避免卖废弃口罩的行为,还给居民带来了福利真是双赢!
稳稳知道了小区的福利也想立马参与进来,如今他还有n个普通医用外科,m个KN95口罩,假定他每半天都要用掉1个口罩(普通医用外科或KN95),如果没有这个活动他的口罩存量只能用n+m个半天也就是(n+m)/2天。此外稳稳得知,当没有新的口罩时,累计四个废旧口罩就可以向社区要1只口罩,这个用废弃后还能再参与回收,这样就能凑够5只再换1只口罩,请你帮他算算他的存量能用几天。
输入
本题有多组测试数据,输入一行内包含两个正整数,分别是稳稳普通医用外科口罩存量n个,KN95口罩存量m个(假定稳稳中途不自行另买口罩)
输出
对每组输入数据,在一行输出口罩能用的天数,每组样例输出后结果保留1位小数、
样例输入
0 0
1 1
20 0
样例输出
0.0
1.5
13.0
思路:
天数由(废弃普通口罩的个数+废弃n95的口罩的个数)*0.5决定
code
#include<stdio.h>
int main()
{int pt,n95;//pt代表普通口罩,n95代表n95口罩while(scanf("%d%d",&pt,&n95)==2){int fq_kz=0; //fq_kz代表废弃口罩double days=0;pt+=n95; //由题意知回收一个n95口罩可以领一个普通口罩while(pt-5>=0){ //题意知,每4个废弃口罩可以在社区领一个新的普通口罩fq_kz+=5;pt-=4;}if(pt==4) fq_kz+=6; //每4个废弃普通口罩可以在社区领一个新的普通口罩,再参与回收,每5个废弃口罩可以领到一个新口罩,最后产生6个废弃口罩else fq_kz+=pt;days+=fq_kz+n95;days=days/2;printf("%.1lf\n",days);}return 0;
}