На единицу больше, чем максимальная из цифр в записи чисел. В данном случае максимальная цифра 3, следовательно, достаточно использовать систему счисления с основанием 4.
<em>// PascalABC.NET 3.3, сборка 1540 от 16.09.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n,p:integer;
var s:string;
for var a:=1 to 9 do
for var b:=0 to 9 do
for var c:=0 to 9 do begin
n:=100*a+10*b+c;
s:=(n*n).ToString.Right(3);
p:=Pos(a.ToString,s);
if p>0 then begin
Delete(s,p,1);
p:=Pos(b.ToString,s);
if p>0 then begin
Delete(s,p,1);
if s=c.ToString then Write(n,'(',n*n,')',' ')
end
end
end
end.
<u>Результат</u>
205(42025) 376(141376) 421(177241) 625(390625) 963(927369)
2
<span>Решение должно иметь от 20 до 5000 символов</span>
13 мб = 13631488 байт
128 мб = 0,13 гб
0,12 мб = 1006632,96 бит
0,01 гб = 10485,76 кб
<span>40960</span> бит = 5 кб
Сфотай получше!!!!!!!!!!!!!!!!