概述
2059:【例3.11】买笔
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 8744 通过数: 4467
【题目描述】
期末来临了,班长小Q决定将剩余班费x元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。
【输入】
一个正整数xx(剩余班费)。
【输出】
一行,依次为6元、5元和4元钱笔的数目,用一个空格隔开。
分析:注意题目重点:1.尽量多;2.没有剩余的钱。
想尽量多?那就全买最便宜的!
没有剩余的钱?
剩余1块钱,就少买一只4元笔,多买一支5元笔;
剩余2块钱,就少买一只4元笔,多买一只6元笔;
剩余3块钱,就少买两只4元笔,多买一只5元笔和一只6元笔;
剩余4块钱,嗯,没有这种情况。。。
现在目标就十分清晰了。
#include<iostream>
using namespace std;
int main()
{
int a;
cin >> a;
int p1=0, p2=0, p3=0;//记录购买4 5 6 元的笔数量
p1 = a / 4;
switch (a % 4)
{//对着分析就能写出代码了
case 1:
p2++;
p1--;
break;
case 2:
p3++;
p1--;
break;
case 3:
p1 -= 2;
p2++;
p3++;
break;
}
cout << p3 << " " << p2 << " " << p1;
}
最后
以上就是受伤黑米为你收集整理的【2059】买笔的全部内容,希望文章能够帮你解决【2059】买笔所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复