为了账号安全,请及时绑定邮箱和手机立即绑定

币值最大问题

给定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;
}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
算法工程师
手记
粉丝
19
获赞与收藏
4

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消