借书方案知多少问题

一、问题描述:
5本书借给A,B,C三名小朋友,每个人只能借一本,问有多少种借书的方案
二、设计思路:
直接利用三层循环暴力解除完事,条件判断联立两个等式
三、程序流程图:

 

 

四、代码实现:

代码一:三层循环,效率有点低
#include<iostream>
using namespace std;
int main()
{
    int A,B,C;
    int num=0;
    for( A=1;A<=5;A++){//三层循环每个人都有五种拿书的方法
        for(B=1;B<=5;B++){
            for(C=1;C<=5;C++){
             if(A!=B&&A!=C&&B!=C)//判断条件
             {
                 num++;
                 cout<<" A:"<<A<<" B:"<<B<<" C:"<<C<<endl;
                 
             }
            }
        }
    }
cout<<"num="<<num<<endl;
    
    return 0;
}

 

代码二:两层循环,效率较高
#include<iostream>
using namespace std;
int main()
{
    int A,B,C;
    int num=0;
    for( A=1;A<=5;A++){
        for(B=1;B<=5;B++){
            for(C=1;C<=5&&A!=B;C++){
                if(A!=C&&B!=C)
                {
                    num++;
                    cout<<" A:"<<A<<" B:"<<B<<" C:"<<C<<endl;
                    
                }
            }
        }
    }
    cout<<"num="<<num<<endl;
    return 0;
}

 

 

 

posted @ 2023-04-14 20:47  软件拓荒人  阅读(67)  评论(0)    收藏  举报