//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) const n = 10; var a:array[1..n] of integer; i,j:integer; begin // Заполним массив сл. числами for i:=1 to n do begin a[i]:=random(0,99); write(a[i]:4); end; writeln; //сортировка массива по убыванию последней цифры. for i := 1 to n-1 do for j := 1 to n-i do if (a[j] mod 10) > (a[j+1]mod 10) then swap(a[j],a[j+1]); writeln('Отсортированный массив : '); for i:=1 to n do write(a[i]:4); end.
const n = 10;
var a:array[1..n] of integer;
i,j:integer;
begin
// Заполним массив сл. числами
for i:=1 to n do begin
a[i]:=random(0,99); write(a[i]:4);
end;
writeln;
//сортировка массива по убыванию последней цифры.
for i := 1 to n-1 do
for j := 1 to n-i do
if (a[j] mod 10) > (a[j+1]mod 10) then
swap(a[j],a[j+1]);
writeln('Отсортированный массив : ');
for i:=1 to n do write(a[i]:4);
end.
Тестовое решение:
14 60 69 6 10 77 66 67 44 84
Отсортированный массив :
60 10 14 44 84 6 66 77 67 69
ответ: 662.
обработка строки состоит из ряда повторяющихся циклов.
1. находим три двойки, заменяем на 6.
2. повторяем пункт 1 четыре раза.
3. заменяем четыре шестерки на 2.
итого, убрали 12 двоек, добавили одну двойку. следовательно, строка укоротилась на 11 символов.
подсчитаем количество циклов при длине строки 282. 282/11 = 25*11+7
следовательно, после 25 циклов останется строка из семи двоек.
три двойки заменяем на 6, следующие три двойки заменяем на 6, остается одна двойка. тогда в конце получится строка 662.