一、题目背景
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
输入输出格式 输入格式: 木有输入 输出格式: 若干行,每行3个数字。按照每行第一个数字升序排列。
输出样例:
192 384 576
* * *
……………………
* * *
二、分析:
简单的暴力枚举题,唯一需注意的是要每次清零,注意:本题最难的地方在于9个数不能重复
三、代码:
#include<stdio.h>
#include<string.h>
int a[10];
int main(){
for (int x=123;x<=329;x++){ //枚举
int i=x,j=x*2,k=x*3;
int o=i,p=j,q=k;
int flag=0; //清零
memset(a,0,sizeof(a));
while(i>0){ //取数
a[i%10]++;
i/=10;
}
if(flag==1) continue;
while(j>0){
a[j%10]++;
j/=10;
}
while(k>0){
a[k%10]++;
k/=10;
}
for (int w=1;w<=9;w++){ //判断
if(a[w]!=1) flag=1;
}
if(flag==0) printf("%d %d %d\n",o,p,q); //输出
}
return 0;
}