| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1451 人关注过本帖, 1 人收藏
标题:整币兑零问题?
只看楼主 加入收藏
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
回复 10楼 vandychan
贪心??能解决吗?我要的是可行解的总数,而不是最优解
2010-09-10 15:00
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
回复 4楼 LegendofMine
动态规划是可以做,我会,我只是想用不同的方法解决这个问题,穷举,回溯,动态规划这些太常见了
2010-09-10 15:04
LegendofMine
该用户已被删除
收藏
得分:0 
回复 12楼 佳嘉
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-12 19:38
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
回复 13楼 LegendofMine
那我先来一个,这个是我们上课的时候老师给的代码,我自己写的不是很规范,所以就给老师的了
这是用递推做的

 #include<stdio.h>
void main()
{
    int p,i,j,m,n,k;
   static int x[12];
  static long int a[12][1001];
  long b,s;
  printf("请输入整币值(单位数):");            /* 输入处理数据 */
  scanf("%d",&m);
  printf("请输入零币种数:");
  scanf("%d",&n);
  printf("(从小至大依次输入每种零币值)\n");
  for(i=1;i<=n;i++)
     {
      printf("第%d种零币值(单位数):",i);
      scanf("%d",&x[i]);
  }
  for(i=0;i<=m;i++)                           /* 确定初始条件 */
      if(i%x[1]==0) a[1][i]=1; else a[1][i]=0;
  for(s=a[1][m],j=2;j<=n;j++)           /* 递推计算a(2,m),a(3,m),...*/
     {
      for(i=x[j];i<=m;i++)
     {
          p=i-x[j];b=0;
         for(k=1;k<=j;k++)
            b+=a[k][p];
            a[j][i]=b;}
            s+=a[j][m];
  }                     /* 累加a(1,m),a(2,m),...*/
  printf("整币兑零种数为:%ld\n",s);           /* 输出兑零种数 */
}


2010-09-12 23:22
快速回复:整币兑零问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014753 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved