华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1257|回复: 1
打印 上一主题 下一主题

5个数字中选任意个数字的程序

[复制链接]

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
跳转到指定楼层
楼主
发表于 2015-10-21 16:39:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<iostream>
  2. using namespace std;
  3. int a[5];
  4. bool b[5];
  5. void mysearch(int i)
  6. {  int j,k;
  7.    for (j=0;j<i;j++) cout<<a[j];cout<<endl;
  8.    for (k=0;k<=4;k++)
  9.       if (b[k]) {a[i]=k;b[k]=false;mysearch(i+1);b[k]=true;}
  10. }
  11. int main()
  12. {
  13.     for (int i=0;i<=4;i++) b[i]=true;
  14.     mysearch(0);return 0;
  15. }
复制代码
回复

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
沙发
 楼主| 发表于 2015-11-1 13:11:06 | 只看该作者
大家想一想,这个题目递归的出口在哪里?
要是变成求5个数字中最多选3个数字的组合该如何改呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 03:30 , Processed in 0.199576 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表