题目描述
熊猫币是熊猫王国的法定货币。熊猫币面值有1元、7元、72元、73元共4种。如下图所示,72=49元,73=343元。
熊猫咪咪想用现金支付m元的竹笋,假设各种熊猫币的数量无限,不允许找零。请问要正好支付m元,至少要多少个熊猫币。
例如:m=51时,咪咪用72元(49元)的熊猫币1个,1元的熊猫币2个。需要3个熊猫币。
输入
一个正整数m(m<1000),表示咪咪要支付的金额。
输出
一个整数,为正好支付m元,至少需要的熊猫币的数量。
#include<bits/stdc++.h>
using namespace std;
int f(int a){
if(a==343 || a==49 || a==7 || a==1){
return 1;
}
int cnt=0;
while(a){
if(a>=343){
a-=343;
cnt++;
}
else if(a>=49){
a-=49;
cnt++;
}
else if(a>=7){
a-=7;
cnt++;
}
else if(a>=1){
a-=1;
cnt++;
}
}
return cnt;
}
int main(){
int a;
cin>>a;
cout<<f(a);
}