1. 程式人生 > >將自然數1--9這九個數分成三組,將每組的三個數字拼成三位數,每個數字不能重複,且每個三位數都是完全平方數。請找出這樣的三個三位數。

將自然數1--9這九個數分成三組,將每組的三個數字拼成三位數,每個數字不能重複,且每個三位數都是完全平方數。請找出這樣的三個三位數。

program p1;
var a:array[1..3]of integer;
    i,j,k,x:integer;
function yes:boolean;
var i:integer;
    d:set of 0..9;
begin
 d:=[];
 for i:=1 to 3 do
  d:=d+[a[i] div 100,(a[i] mod 100) div 10,a[i] mod 10];
  yes:=true;
  for i:=1 to 9 do
   if not(i in d) then yes:=false;
end;
begin
  for i:=11 to 29 do
   begin
    a[1]:=i*i;
    for j:=i+1 to 30 do
     begin
      a[2]:=j*j;
      for k:=j+1 to 31 do
           begin
           a[3]:=k*k;
      if yes then
             for x:=1 to 3 do writeln(x:8,':',a[x]:8);
      end;
     end;
    end;
end.