31 2 30Sample Output4参考大神代码,自己组织下,我认为是将工资逐个除以面值100,50,10,50,2,1的金额,并记一次数,余数继续处,直至余数为0,也就将工资用这6中数额拼凑好了#include <iostream>using namespace std;int main(){ int money[6]={100,50,10,5,2,1}; int n,salary,s; while(cin>>n&&n!=0) { int num=0; while(n--) { cin>>salary; for(int i=0;i<6;i++) { num+=salary/money[i]; //除以一次,相当于发了一张面值为money[i]的钞票,记一次数 s=salary%money[i]; //记录余数,继续除 if(!s) //余数为0,分配完毕,跳出循环 break; salary=s; //余数不为0,记录数据继续除 } } cout<<num<<endl; } return 0;}
新闻热点
疑难解答