幣值最大問題
给定n个硬币,假设其面值为5,1,2,10,6,2。如何选择硬币,使得在其原位置不相邻的情况下,所选硬币的总金额最大?(动态规划--C语言实现)
#include <stdio.h> int max(int m,int n){ return m>n?m:n; } int main() { int a[]={0,5,1,2,10,6,2}; int rs[7]; int i; for(i=0;i<7;i++){ if(i<=1){ rs[i]=a[i]; } else{ rs[i]=max(a[i]+rs[i-2],rs[i-1]); printf("rs[%d]=%d\n",i,rs[i]); } } printf("最大币值为:%d\n",rs[6]); return 0; }
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦