program Thibault_szamok; uses Crt; var i : integer; nn,n : longint; betu,s : string[9]; van : array[0..9] of boolean; ok : boolean; begin ClrScr; WriteLn(' A T H I B A U L T - S Z  M O K : ':56); for i:=1 to 5 do WriteLn; { a vizsg lat csak a 317 ‚s 987 k”z”tti sz mokra megy } for n:=317 to 987 do begin { a bet– res } for i:=0 to 9 do van[i]:=FALSE; { elv‚gezzk a n‚gyzetre emel‚st } nn:=n*n; { az n ‚s a nn sz mot sz”vegg‚ alakĄtjuk } Str(n,betu); Str(nn,s); { ”sszef–zzk a kett“t } betu:=betu+s; { felhaszn ljuk, hogy a sz mjegyek k˘dja egym s ut n helyezkedik el } for i:=1 to Length(betu) do van[Ord(betu[i])-Ord('0')]:=TRUE; { megn‚zzk, hogy minden sz mjegy el“fordult-e , ha volt nulla akkor eleve ugrunk } ok:=not van[0]; i:=1; while ok and (i<10) do begin ok:=ok and van[i]; Inc(i); end; { ha ok=IGAZ akkor mind szerepelt, azaz Thibault-sz mot tal ltunk } if ok then WriteLn('A sz m : ':30,n,' ‚s n‚gyzete : ',nn); end; GotoXY(45,25); Write('B rmi kil‚p...'); repeat until KeyPressed; end.