循环第一个数n,从123到329(因为最大到329,再大3*n就不是三位数了),然后算出2*n3*n,看看这三个数是不是正好把1~9用了.
程序:
var
i,a,b,j,ans:longint;
ok:boolean;
f:array[0..9]ofboolean;
begin
fori:=123to329do
begin
a:=2*i;b:=3*i;
fillchar(f,sizeof(f),false);//数组清零
f[idiv100]:=true;f[(imod100)div10]:=true;f[imod10]:=true;
f[adiv100]:=true;f[(amod100)div10]:=true;f[amod10]:=true;
f[bdiv100]:=true;f[(bmod100)div10]:=true;f[bmod10]:=true;
ok:=true;
forj:=1to9doifnotf[j]thenok:=false;
ifoktheninc(ans);//ans是答案总数,要是输出答案,就在这里每次把符合的iab三个数输出就行
end;
writeln(ans);
end.