CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

数组算法??

楼主hszr(随风)2005-04-07 17:11:02 在 C/C++ / C++ 语言 提问

整型数组N,从中找出前n个数的和等于total的所有组合,设数组中的每一项小于total.  
   
  解法到是想出来就是动手时写的不对?  
  求完整程序 问题点数:50、回复次数:4Top

1 楼pcboyxhy(-273.15℃)回复于 2005-04-07 17:22:14 得分 20

#include   <iostream>  
  #include   <cstdlib>  
   
  using   namespace   std;  
   
  const   int   vsize   =   5;  
  int     value[vsize]={50,   25,   10,   5,   1};  
  int     number[vsize]={0};  
  int   total=1;  
   
  void   out(int   end)  
  {  
          cout<<endl<<"No.   "<<total++<<"       ";  
          for(int   i=0;   i<end;   ++i)  
                  if(number[i])  
                          cout<<value[i]<<"分"<<number[i]<<"张       ";  
  }          
   
  void   make(int   val,   int   start)  
  {  
          if(val==0){out(start);   return;}  
          if(val<0)   return;  
          if(start>=5)   return;  
          int     maxs   =   val/value[start];  
          for(int   i=0;   i<=maxs;   ++i)  
          {  
                  number[start]=i;  
                  make(val-i*value[start],   start+1);  
          }  
  }  
           
           
  int   main(int   argc,   char   *argv[])  
  {  
          int   v;  
          cin>>v;  
          make(v,   0);  
          system("PAUSE");  
          return   0;  
  }  
  Top

2 楼pcboyxhy(-273.15℃)回复于 2005-04-07 17:23:49 得分 20

如果前n个数每个数只能使用一次  
  for(int   i=0;   i<=1;   ++i)  
          {  
                  number[start]=i;  
                  make(val-i*value[start],   start+1);  
          }  
   
   
  Top

3 楼pcboyxhy(-273.15℃)回复于 2005-04-07 17:24:44 得分 0

要剪枝  
  自己动手Top

4 楼longlijun(风之力)回复于 2005-04-07 18:00:32 得分 10

从中找出前n个数的和等于total的所有组合  
   
  对于这个“前”怎么理解,   total   本身也在数组中?Top

相关问题

  • 数组正规化算法 求教
  • 数组拆分的算法问题
  • 求数组移位的算法
  • ◆挑战cookies字典数组算法
  • 求二维数组的算法
  • 寻找int[k]数组的快速排序算法
  • To daiwoo,你的初始化控件数组算法呢?
  • 求一个有关数组方面的算法
  • 求算法怎么得到排列组合的具体数组
  • 一道算法题,想死我了(数组里找数)

关键词

  • 数组
  • vsize
  • total
  • 前n个数
  • include

得分解答快速导航

  • 帖主:hszr
  • pcboyxhy
  • pcboyxhy
  • longlijun

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo