Var i,j,k:longint; begin for i:=1 to 1000 do for j:=1 to 1000 do for k:=1 to 10000 do if sqr(i)+sqr(j)=sqr(K)then begin writeln(i,' ',j,' ',k); {вывожу все тройки, можно убрать} if i+j+k=1000 then begin writeln('! ',i,' ',j,' ',k); {нужная тройка} exit; {прерывание программы} end; end; end.
Type piece = record value: string[10]; count := 1; end;
var pieces: array[1..200]of piece; i, j, n, pieces_n: integer; s, p: string; found: boolean; imax:=1;
begin read(s); read(n); for i := 1 to length(s) - n + 1 do begin p := Copy(s, i, n); found := false; for j := 1 to pieces_n do if pieces[j].value = p then begin pieces[j].count := pieces[j].count + 1; found := true; if pieces[imax].count < pieces[j].count then imax := j; break; end; if not found then begin pieces_n := pieces_n + 1; pieces[pieces_n].value := p; end; end;
i,j,k:longint;
begin
for i:=1 to 1000 do
for j:=1 to 1000 do
for k:=1 to 10000 do
if sqr(i)+sqr(j)=sqr(K)then
begin
writeln(i,' ',j,' ',k); {вывожу все тройки, можно убрать}
if i+j+k=1000 then
begin
writeln('! ',i,' ',j,' ',k); {нужная тройка}
exit; {прерывание программы}
end;
end;
end.