*/
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者: 孙培培
* 完成日期:2012 年 11月8日
* 版 本 号:v1.0 *
* 输入描述:略
问题描述:求和
* 程序输出:见下
* 问题分析问题分析与算法设计:本问题实际上是一个排列问题,即求从 5 个中取 3 个进行排列
的方法的总数。首先对五本书从 1 至 5 进行编号,然后使用穷举的方法。假设三个人分别
借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。
下面是程序及其注释,要注意利用三重循环“穷举”
* 算法设计:略
*/
/*
【程序6】
【项目 2:穷举法解决组合问题】先阅读例题,领会穷举法(意为“穷尽式列举”,也
称枚举)的思想,然后自行选题进行解决,掌握这种程序设计的一般方法。
例题:小明有五本新书,要借给 A,B,C 三位小朋友,若每人每次只能借一本,则可
以有多少种不同的借法?
*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c,count=0;
cout<<"小明借书给三位小朋友书的方案有:"<<endl;
for(a=1;a<=5;a++) //穷举 a借 5本书中的1本的全部情况
for(b=1;b<=5;b++) //穷举 b借 5本书中的一本的全部情况
for(c=1;c<=5;c++) //穷举 c借 5本书中的1本的全部情况
if(a!=b&&c!=a&&c!=b) //判断三个人借的书是否不同
{
++count;
cout<<count<<": "<<a<<", "<<b<<", "<<c<<endl;//输出方案
if(count%5==0)
cout<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a,b,c,count=0;
cout<<"小明借书给三位小朋友书的方案有:"<<endl;
for(a=1;a<=5;a++) //穷举 a借 5本书中的1本的全部情况
for(b=1;b<=5;b++) //穷举 b借 5本书中的一本的全部情况
for(c=1;c<=5;c++) //穷举 c借 5本书中的1本的全部情况
if(a!=b&&c!=a&&c!=b) //判断三个人借的书是否不同
{
++count;
cout<<count<<": "<<a<<", "<<b<<", "<<c<<endl;//输出方案
if(count%5==0)
cout<<'\n';
}
return 0;
}
一样的