先设置数组a,记录最少要多少,a[i-n]+1就是n元的数量,带码如下:
#include <bits/stdc++.h>
using namespace std;
int a[10010],n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
a[i]=a[i-1]+1;
if(i>=1){
a[i]=min(a[i],a[i-1]+1);
}
if(i>=5){
a[i]=min(a[i],a[i-5]+1);
}
if(i>=11){
a[i]=min(a[i],a[i-11]+1);
}
}
cout<<a[n];
return 0;
}