Дано натуральное число n, действительные числа an. в последовательности определить количество соседств двух положительных нечётных чисел и максимальное количество идущих друг ща другом чисел.
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017 // Внимание! Если программа не работает, обновите версию!
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.
Результат 205(42025) 376(141376) 421(177241) 625(390625) 963(927369)
Const n=20; var a: array[1..20] of integer = ( 20, 9, 24, 12, 23, 24, 21, 17, 1, 15, 25, 8, 21, 2, 6, 4, 12, 16, 8, 13); i,j,k: integer; begin for i:=1 to n-1 do for j:=i+1 to n do if a[j]<a[i] then swap(a[i],a[j]); writeln('отсортированный массив: '); for i:=1 to n do write(a[i],' '); writeln; k:=0; i:=1; j:=2; repeat if a[j]-a[i]>=3 then begin writeln('пара: ',a[i],' ',a[j]); i:=j; inc(k); end; inc(j); until j>n; writeln('количество солдат:k+1); end.