【题目描述】
期末来临了,班长小Q决定将剩余班费x元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。
【输入】
一个正整数x(剩余班费)。
【输出】
一行,依次为6元、5元和4元钱笔的数目,用一个空格隔开。
【输入样例】
10
【输出样例】
1 0 1
买尽量多的笔,就是用总钱数除4,看余1或是2或是3,然后判断。
余1的话,从4元中的个数减1,把5元的个数加1个;
余2的话,从4元中的个数减1,把6元的个数加1;
余3的话,从4元中的个数减2,把5元的个数和6元的个数分别加1;
#include<iostream> #include<cmath> using namespace std; int main() { int a=0,b=0,c=0,n; scanf("%d",&n); c=n/4; if(n%4==1){ c--; b++; } else if(n%4==2){ c--; a++; } else if(n%4==3){ c=c-2; a++; b++; } printf("%d %d %d",a,b,c); return 0; }