题目 1518: [蓝桥杯][算法提高VIP]寻找三位数
时间限制: 1Sec 内存限制: 128MB 提交: 1053 解决: 573
题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入
无输出
输出
输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。
样例输入
无
样例输出
无
#include<stdio.h>
#include<math.h>
#include<string.h>
#define max 100005
void fenjie(int x,int &x1,int &x2,int &x3)
{
x1=x/100;
x2=x/10%10;
x3=x%10;
return;
}
int dfs(int a)
{
int b=0,c=0;
b=2*a;
c=3*a;
int a1=0,a2=0,a3=0;
int b1=0,b2=0,b3=0;
int c1=0,c2=0,c3=0;
fenjie(a,a1,a2,a3);
fenjie(b,b1,b2,b3);
fenjie(c,c1,c2,c3);
if(
a1!=a2&&a1!=a3&&a1!=b1&&a1!=b2&&a1!=b3&&a1!=c1&&a1!=c2&&a1!=c3&&
a2!=a3&&a2!=b1&&a2!=b2&&a2!=b3&&a2!=c1&&a2!=c2&&a2!=c3&&
a3!=b1&&a3!=b2&&a3!=b3&&a3!=c1&&a3!=c2&&a3!=c3&&
b1!=b2&&b1!=b3&&b1!=c1&&b1!=c2&&b1!=c3&&
b2!=b3&&b2!=c1&&b2!=c2&&b2!=c3&&
b3!=c1&&b3!=c2&&b3!=c3&&
c1!=c2&&c1!=c3&&
c2!=c3
)
return 1;
else return 0;
}
int main()
{
int xb;
for(int i=123;i<=333;i++)
{
xb=0;
xb=dfs(i);
if(xb)
printf("%d %d %d\n",i,2*i,3*i);
}
return 0;
}