【项目1-小明借书】
小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
提示:本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。
小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
提示:本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。
[参考解答]
#include <stdio.h>
int main()
{
int a,b,c,count=0;
printf("小明借书给三位小朋友书的方案有:\n");
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) //判断三个人借的书是否不同,(a-b)*(b-c)*(c-a)!=0更好
{
++count;
printf("%d: %d, %d, %d\n", count, a, b, c);//输出方案
}
return 0;
}