递归
2024-06-19 14:34:34
发布于:湖北
10阅读
0回复
0点赞
/*
思路:递归
参数1 层数,第i层,层数9,就判断是不是符合要求
参数2 字符串类型,按照顺序应该是第一个数字,第二个数字,第三个数字
*/
#include <bits/stdc++.h>
using namespace std;
int nums[] = {0,1,2,3,4, 5,6,7,8,9};
int zw[] = {0,0,0,0,0, 0,0,0,0,0};
/*
思路:递归
层数,第i层
层数9,就判断是不是可以计算
*/
void slj(int n,string s)
{
if(n==9)
{
int n1 = (s[0]-'0')*100 + (s[1]-'0')*10 + (s[2]-'0');
int n2 = (s[3]-'0')*100 + (s[4]-'0')*10 + (s[5]-'0');
int n3 = (s[6]-'0')*100 + (s[7]-'0')*10 + (s[8]-'0');
if (n1*6 == n2*3 and n2*3 == n3*2)cout<<n1<<" "<<n2<<" "<<n3<<endl;
}
else{
for(int i=1;i<=9;i++)
{
if(zw[i]==0)
{
zw[i] = 1;
slj(n**** + char('0'+nums[i]));
zw[i] = 0;
}
}
}
}
int main()
{
slj(0,"");
return 0;
}
这里空空如也
有帮助,赞一个