一个人有五本书,要把书借给A,B,C三个人,每人每次最多只能借两本,问有多少种借书方法?用C语言编程
答案:2 悬赏:30
解决时间 2021-01-09 04:26
- 提问者网友:ミ烙印ゝ
- 2021-01-08 07:32
一个人有五本书,要把书借给A,B,C三个人,每人每次最多只能借两本,问有多少种借书方法?用C语言编程
最佳答案
- 二级知识专家网友:几近狂妄
- 2021-01-08 09:00
#include
main()
{int i,j,k,n,x=0;
for(i=1;i<=5;i++) //有5本书,所以i<=5
for(j=i+1;j<=5;j++)//由于书不能相同,且第二本书的排序总在第一本书的后面,所以j=i+1
for(k=1;k<=5;k++)//上面是A拿得的书,现在开始B拿,思想一样
for(n=k+1;n<=5;n++)
{if(k==i||k==j||n==i||n==j)//B拿得的书不能和A的一样,如果一样执行continue语句
continue;//该语句是跳到for(n=k+1;n<=5;n++),再次执行循环
x++;//统计分发次数
}
printf("%d\n",3*x);//x乘以3表示以上情况只针对c拿了一本书,而A,B拿一本书的的情况和C是一样的,所以乘上3.
}
main()
{int i,j,k,n,x=0;
for(i=1;i<=5;i++) //有5本书,所以i<=5
for(j=i+1;j<=5;j++)//由于书不能相同,且第二本书的排序总在第一本书的后面,所以j=i+1
for(k=1;k<=5;k++)//上面是A拿得的书,现在开始B拿,思想一样
for(n=k+1;n<=5;n++)
{if(k==i||k==j||n==i||n==j)//B拿得的书不能和A的一样,如果一样执行continue语句
continue;//该语句是跳到for(n=k+1;n<=5;n++),再次执行循环
x++;//统计分发次数
}
printf("%d\n",3*x);//x乘以3表示以上情况只针对c拿了一本书,而A,B拿一本书的的情况和C是一样的,所以乘上3.
}
全部回答
- 1楼网友:归鹤鸣
- 2021-01-08 09:19
题目不怎么清楚哦 说详细点
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯