口罩是防疫的必需品,需要提前储备,小明接到第二项任务就是帮助同学们购买口罩,他总共带了n(0<=n<=100)元,到超市后发现口罩单买是3角/个,超市里也有2种优惠方案,A方案:买5个送1个;B方案:买一包(12个)送3个。输入有多个案例,每组案例为一个整数n,表示钱的数量。对于每组案例输出最多可以买到的口罩数量。
买5个送一个 相当于 1.5元买6个 原价1.8 6个
买1包送3个 相当于 3.6元 买15个 原价 4.5 15个
很显然 要买最多 肯定 要把B方案拉满
#include<iostream>
#pragma warning(disable:4996)
#include<stdio.h>
using namespace std;
int main()
{
double n;
scanf("%lf", &n);
if (n < 1.5) {
printf("%d", (int)(n / 0.3));
}
else if (n < 3.6) {
int _group6 = (int)((n / 1.5));
int unit = (int)((n - 1.5 * _group6) / 0.3);
printf("%d", _group6*6+unit);
}
else if (n <= 100) {
int _group15 = (int)(n / 3.6);
int _group6 = (int)((n - 3.6* _group15) / 1.5);
int unit = int((n - 3.6 * _group15 - 1.5 * _group6) / 0.3);
printf("%d,%d个大包,%d个小包,%d个散", (int)15 * _group15 + 6 * _group6 + unit, _group15, _group6, unit);
}
}
这题可以参考这个链接https://ask.csdn.net/questions/7622070?spm=1005.2025.3001.5141
#include<iostream>
#pragma warning(disable:4996)
#include<stdio.h>
using namespace std;
int main()
{
double n;
scanf("%lf", &n);
if (n < 1.5) {
printf("%d", (int)(n / 0.3));
}
else if (n < 3.6) {
int _group6 = (int)((n / 1.5));
int unit = (int)((n - 1.5 * _group6) / 0.3);
printf("%d", _group6*6+unit);
}
else if (n <= 100) {
int _group15 = (int)(n / 3.6);
int _group6 = (int)((n - 3.6* _group15) / 1.5);
int unit = int((n - 3.6 * _group15 - 1.5 * _group6) / 0.3);
printf("%d,%d个大包,%d个小包,%d个散", (int)15 * _group15 + 6 * _group6 + unit, _group15, _group6, unit);
}
}