题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
输入输出格式
输入格式:
没有输入
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
输入输出样例
输出样例#1:
192 384 576
* * *
...
* * *
(输出被和谐了)
#include <cstdio> #include <iostream> #include <cstdlib> #include <cmath> using namespace std; int num[9]={0}; int main(void){ int j,k; for (int i=123;i*3<=987;i++) { //数组置0 for (int b=0;b<9;b++) { num[b]=0; } //取i的各个位数字,放入数组记录次数 num[i/100-1]++; num[i/10%10-1]++; num[i%10-1]++; //取j的各个位数字,放入数组记录次数 j = i*2; num[j/100-1]++; num[j/10%10-1]++; num[j%10-1]++; //取k的各个位数字,放入数组记录次数 k = i*3; num[k/100-1]++; num[k/10%10-1]++; num[k%10-1]++; for (int a=0;a<9;a++) { //次数不为1,不符题意,跳过 if (num[a]!=1) { break; } //数组检查完毕,输出 if (a==8) { printf("%d %d %d ",i,j,k); } } } return 0; }