C语言解题:小明有五本新书,要借给A、B、C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?

小明有五本新书,要借给A、B、C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?

    本题属于数学中常见的排列组合问题,即求5个数中取3个不同数的排列组合的总数。

    将5本书从1~5进行编号,A、B、C三个人每次都可以从5本书中任选1本,即每人都有5种选择,由于1本书
    不可能同时借给一个以上的人,因此只要三个人所选书的编号不同,即为一次有效的借阅方法。

下面直接上代码很简单:

#include"stdio.h"

int main()
{
    int a = 0, b = 0, c = 0, i = 0;
    for (a = 1; a <= 5; a++)
    {
        for (b = 1; b <= 5; b++)
        {
            for (c = 1; c <= 5; c++)
            {
                if (a != b && b != c && a != c)
                {
                    i++;
                    printf("第%d种借阅方案:a=%d,  b=%d, c=%d\n", i, a, b, c);
                }
            }
        }
    }
}

运行结果:

C语言解题:小明有五本新书,要借给A、B、C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?_第1张图片

 

你可能感兴趣的:(C语言学习记录,c语言,算法,c#,开发语言)