题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

将1,2, \cdots ,91,2,⋯,9共99个数分成33组,分别组成33个三位数,且使这33个三位数构成1:2:31:2:3的比例,试求出所有满足条件的33个三位数。

输入输出格式

输入格式:

木有输入

输出格式:

若干行,每行33个数字。按照每行第11个数字升序排列。

输入输出样例

输入样例#1: 复制



输出样例#1: 复制


192 384 576 * * * ... * * * (输出被和谐了)


学习的人家的代码。

#include<iostream>
using namespace std;
int main()
{
 	int i,j,k,m,sum;
 	int a[10];  
 	for(i=123;i*3<=987;i++)//由于数字不重复,故区间范围从123-987
 	{
        for(m=1;m<10;m++)?a[m]=0;//全部初始化为0	
        a[i/100]=1;//第一个三位数的百位
  		a[i/10%10]=1;//第一个三位数的十位
  		a[i%10]=1;//第一个三位数的个位
        j=i*2;//第二个三位数,与第一个三位数满足1:2的关系
        a[j/100]=1;//第二个三位数的百位
        a[j/10%10]=1;//第二个三位数的十位
        a[j%10]=1;//第二个三位数的个位
        k=i*3;//第三个三位数,与第一个、第二个三位数满足1:2:3的关系
        a[k/100]=1;//第三个三位数的百位
        a[k/10%10]=1;//第三个三位数的十位
        a[k%10]=1;//第三个三位数的个位
        for(sum=0,m=1;m<10;m++) 
		sum=sum+a[m];//将存储三个数位的数组元素相加
     	if(sum==9) 
		 cout<<i<<" "<<j<<" "<<k<<endl;//若恰好为9,说明满足题设,输出
 	}
    return 0;
}