蓝桥杯 算法提高 寻找三位数 (暴力出奇迹)

题目 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;
 	
 }

猜你喜欢

转载自blog.csdn.net/qq_46232829/article/details/107632084