0
已解决
题目:
1237 买文具
题目描述 Description
元旦快到了,班长小明决定将剩余的班费X元钱,用于购买文具奖励大家。已知钢笔5元一支,笔记本4元一本,尺子3元一把。小明想买尽量多的文具(鼓励尽量多的同学),同时他又不想有剩余的钱。请你帮小明制定一种买文具的方案并输出每种文具的数目。(要求输出的答案字典序尽量大)
输入描述 Input Description
输入一行,为剩余班费X。X为整数,10=<X<=100。
输出描述 Output Description
输出一行,分别为钢笔的数目,笔记本的数目,尺子的数目,每两个数之间用一个空格隔开。
样例输入 Sample Input
10
样例输出 Sample Output
0 1 2
数据范围及提示 Data Size & Hint
字典序举例:三个数字排列来说,3 2 1大于2 3 1 大于1 2 3
题目网址1237 买文具
怎么做??
0
已采纳
这道题用到一个贪心的思想。
1.如果余数为0,那么全买尺子
2.如果余数为1,那么为了不剩钱就去掉一个尺子,加上一个本子
3.如果余数为2,那么也是为了不剩钱去掉一个尺子,加上一支钢笔
if(x%3==1)
{ num3=x/3-1;
num2=num2+1;
cout<<num1<<" "<<num2<<" "<<num3;
}
else if(x%3==2)
{
num3=x/3-1;
num1=num1+1;
cout<<num1<<" "<<num2<<" "<<num3;
}
最后一种情况就是x%3==0,这时候num3=x/3;
0
0