题目背景
灰太狼背着红太狼在森林银行偷开账户,存了x元的私房钱。
题目描述
灰太狼打算将其全部取出来,已知纸币面值有100元、50元、20元、10元、5元和1元。为了防止被发现,它希望拿到纸币的张数最少,于是,灰太狼向你求救。请你计算出最少的纸币数。
输入格式
第一行一个整数t表示t组测试数据。
对于每组测试数据:
一行一个整数x表示存款数.
输出格式
对于每组测试数据,输出一行一个整数表示最少的纸币数。
说明/提示
对于 100% 的数据,1≤t≤100,0≤x≤1e9。
这道题在输入私房钱时可以直接从100元到1元分别整除,最后的就是最少的纸币数。
由此可得以下代码:
#include<iostream>
using namespace std;
int t,x,ans;
int main(){
cin>>t;
for(int i=1;i<=t;i++){
cin>>x;
ans=0;
ans+=x/100; x%=100;
ans+=x/50; x%=50;
ans+=x/20; x%=20;
ans+=x/10; x%=10;
ans+=x/5; x%=5;
ans+=x;
cout<<ans<<endl;
}
return 0;
}