算法训练2.3:老子的全排列

简介: 分析:这道题不难,一种暴力法,写8个循环;另一种函数法,直接调用库函数;

36aedac45ee7e4c380058bf3006194a.png


第一种:

include <bits/stdc++.h>

using namespace std;

int main(void)

{

int a1,a2,a3,a4,a5,a6,a7,a8;
for(a1=1;a1<9;a1++)
{
for(a2=1;a2<9;a2++)
    {
for(a3=1;a3<9;a3++)
        {
for(a4=1;a4<9;a4++)
            {
for(a5=1;a5<9;a5++)
                {
for(a6=1;a6<9;a6++)
                    {
for(a7=1;a7<9;a7++)
                        {
for(a8=1;a8<9;a8++)
                            {
if((a1!=a2)&&(a1!=a3)&&(a1!=a4)
                                &&(a1!=a5)&&(a1!=a6)&&(a1!=a7)&&(a1!=a8)
                                &&(a2!=a3)&&(a2!=a4)&&(a2!=a5)&&(a2!=a6)
                                &&(a2!=a7)&&(a2!=a8)&&(a3!=a4)&&(a3!=a5)
                                &&(a3!=a6)&&(a3!=a7)&&(a3!=a8)&&(a4!=a5)
                                &&(a4!=a6)&&(a4!=a7)&&(a4!=a8)&&(a5!=a6)
                                &&(a5!=a7)&&(a5!=a8)&&(a6!=a7)&&(a6!=a8)
                                &&(a7!=a8))
                                {
cout<<a1<<a2<<a3<<a4<<a5<<a6<<a7<<a8<<endl; 
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
return 0;

}

第二种:用到库函数next_permutation(arr,arr+arr.length);

库函数用法

include <bits/stdc++.h>

using namespace std;

int main(void)

{

int arr[8]={1,2,3,4,5,6,7,8};
do
{
for(int i=0;i<8;i++)
    {
cout<<arr[i]<<"";
if(i==7)
        {
cout<<endl;
        }
    }
}while(next_permutation(arr,arr+8));
return 0;

}


目录
相关文章
|
4月前
|
算法 C++ 索引
【算法】——全排列算法讲解
【算法】——全排列算法讲解
146 0
|
4月前
|
算法 Java Serverless
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
50 1
|
4月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
52 1
|
2月前
knn增强数据训练
【7月更文挑战第27天】
29 10
|
2月前
|
数据采集 编解码 人工智能
破解ChatGPT惊人耗电!DeepMind新算法训练提效13倍,能耗暴降10倍
【7月更文挑战第19天】DeepMind的JEST算法革新AI训练,提升效率13倍,节能10倍。通过联合数据批次选择,预训练指导及多分辨率训练,优化资源利用,降低能耗。实验显示性能提升,达到SOTA水平,但实施需大量资源,依赖优质参考模型。[论文链接](https://arxiv.org/pdf/2406.17711)
56 10
|
2月前
knn增强数据训练
【7月更文挑战第28天】
20 2
|
1月前
|
算法 搜索推荐
支付宝商业化广告算法问题之基于pretrain—>finetune范式的知识迁移中,finetune阶段全参数训练与部分参数训练的效果如何比较
支付宝商业化广告算法问题之基于pretrain—>finetune范式的知识迁移中,finetune阶段全参数训练与部分参数训练的效果如何比较
|
2月前
|
人工智能 边缘计算 算法
破解ChatGPT惊人耗电!DeepMind新算法训练提效13倍,能耗暴降10倍
【7月更文挑战第20天】DeepMind unveils Switch Transformer, revolutionizing AI energy consumption. This novel algorithm boosts training efficiency by 13x and slashes energy use by 10x compared to ChatGPT, marking a significant leap towards eco-friendly AI.
38 2
|
1月前
|
存储 算法
【C算法】编程初学者入门训练140道(1~20)
【C算法】编程初学者入门训练140道(1~20)
|
3月前
|
机器学习/深度学习 算法
**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。
【6月更文挑战第28天】**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。数据从输入层流经隐藏层到输出层,计算预测值。接着,比较预测与真实值计算损失。然后,从输出层开始,利用链式法则反向计算误差和梯度,更新权重以减小损失。此过程迭代进行,直到损失收敛或达到训练次数,优化模型性能。反向传播实现了自动微分,使模型能适应训练数据并泛化到新数据。
55 2