这是递归和回溯的算法 是abcd'的排列可能
#include<stdio.h>
#include<iomanip>
#include<iostream>
using namespace std;
bool b[10]={0};int a[10]={0};
int print()
{
for (int i=1;i<=4;i++)
printf("%c ",a[i]);
printf("\n");
}
int dosomething(int z)
{
int mm;
for ( mm=1;mm<=4;mm++)
if (!b[mm])
{
a[z]=mm+96;
b[mm]=true;
if (z==4) print();
else dosomething(z+1);
b[mm]=false;
}
}
int main()
{
dosomething(1);
return 0;
}
总结 tmd' 不可以把mm变量定义成全局变量
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步