借书方案知多少问题

一、问题描述:
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 @   软件拓荒人  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示