问题:小明有无限多的1元纸币,7元纸币和10元纸币。小明到商店买东西要n元,请求出最少需要几张纸币。下附dp代码
#include <bits/stdc++.h>
using namespace std;
int dp[101],n;
int main(){
cin>>n;
for(int i=1;i<7;i++){
dp[i]=i;
}
for(int i=7;i<10;i++){
dp[i]=i-6;
}
for(int i=11;i<=n;i++){
dp[i]=min(dp[i-1],dp[i-7]);
dp[i]=min(dp[i],dp[i-10])+1;
}
cout<<dp[n];
}
求o1
解!!!!!!!