问一定金额的钱最多可以打多少酱油,而题意中打50块钱的送得最多,打30块钱的次之,故问题转化为优先将钱分成最多的50块钱(money/50),分完以后再将剩下的钱分成尽可能多的30,最后再用剩下的去打。
#include <iostream>
using namespace std;
int main(){
int m,fiveTen,threeTen,ten,num;
cin>>m;
fiveTen=m/50;
threeTen=(m-fiveTen*50)/30;
ten=(m-fiveTen*50-30*threeTen)/10;
num=fiveTen*7+threeTen*4+ten;
cout<<num;
return 0;
}