1.题目背景
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。
2.题目描述
将 1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 9:3:6,试求出所有满足条件的三个三位数。
3. 输入格式
无
4. 输出格式
升序
5. 暴力解法
#include<iostream>
using namespace std;
int a[10010],book[10010];
void dfs(int step)
{
if(step==10)
{
int f,g,h;
f=a[1]*100+a[2]*10+a[3];
g=a[4]*100+a[5]*10+a[6];
h=a[7]*100+a[8]*10+a[9];
if(f==g*3&&g*2==h)
printf("%d %d %d\n",g,h,f);
return ;
}
for(int i=1;i<=9;i++)
{
if(!book[i])
{
a[step]=i;
book[i]=1;
dfs(step+1);
book[i]=0;
}
}
return ;
}
int main()
{
dfs(1);
}
测试结果: