P1008 三连击
题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
输入输出格式
输入格式:
木有输入
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
输入输出样例
输入样例#1:
输出样例#1:
192 384 576 * * * ... * * * (输出被和谐了)
var
x:array[0..9]
of longint;
i,a,b,c,j:longint;
ji:boolean;
procedure
try(n:longint);//拆分并统计每个数字的使用次数
begin
while
n<>0
do
begin
x[n mod
10]:=x[n
mod 10]+1;
n:=n div
10;
end;
end;
begin
for
i:=1
to 999
do
begin
ji:=true;
for
j:=0
to 9
do//重置
x[j]:=0;
a:=1*i;//按1:2:3来计算
b:=2*i;
c:=3*i;
try(a);
try(b);
try(c);
for
j:=1
to 9
do//判断数字是否有重复
if
x[j]<>1
then ji:=false;
if
ji then if
(a<=999)
and (b<=999)
and
(c<=999)then
writeln(a,' ',b,' ',c);//确保是三位数
end;
end.