2005年4月25日第16期电脑报编程点将
题目:小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
我的程序:
/*算法思想:其实这是一个排列的问题,这里我们假设五本书的编号室从1——5,
用数组ABC[3]来表示A,B,C三个人,其数值表示这三个人所借的是什么书
(也就是哪个编号的书)。穷举使三个人都可能借到每一本书,
当然,不能两个人借同一本书。
*/
#include<iostream>
using namespace std;
void main()
{
int ABC[3],count=0;
for(ABC[0]=1;ABC[0]<=5;ABC[0]++)
for(ABC[1]=1;ABC[1]<=5;ABC[1]++)
for(ABC[2]=1;ABC[2]<=5;ABC[2]++)
if(ABC[0]!=ABC[1]&&ABC[0]!=ABC[2]&&ABC[1]!=ABC[2])
count++;
cout<<"总的借书方式有:"<<count<<"种"<<endl;
}
扩展:在每一种可能的借法,输出ABC三位读者分别借到的书的编号:
#include<iostream>
using namespace std;
void main()
{
int ABC[3],count=0;
for(ABC[0]=1;ABC[0]<=5;ABC[0]++)
for(ABC[1]=1;ABC[1]<=5;ABC[1]++)
for(ABC[2]=1;ABC[2]<=5;ABC[2]++)
if(ABC[0]!=ABC[1]&&ABC[0]!=ABC[2]&&ABC[1]!=ABC[2])
{
count++;
cout<<"第"<<count<<"种借法中ABC所借的书的编号分别是:"
<<ABC[0]<<" "<<ABC[1]<<" "<<ABC[2]<<"\n";
}
cout<<"总的借书方式有:"<<count<<"种"<<endl;
}
正文
2005年4月25日第16期电脑报编程点将2005-09-10 20:03:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/xiangyu/4630.html
阅读(3995) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论