var s,s1:string;
i,j,count:integer;
begin
read(s);
for i:=length(s) downto 2 do
for j:=2 to i do
if s[j]<s[j-1] then begin
swap(s[j],s[j-1]);
s1:=s;
end;
//сортируем строку в алфавитном порядке чтобы потом было легче
//считать количество встреч одного и того же символа
count:=1;
write(s1[1],': ');
//первый символ в любом случае встречается один раз
for i:=2 to length(s1) do
if s1[i]=s1[i-1] then inc(count) else begin
writeln(count);
write(s1[i],': ');
count:=1
end;
//считаем количество совпадений для каждого символа
writeln(count);
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
a, b : array [1..n] of integer;
i, max, min, p, imax, imin : integer;
begin
randomize;
writeln('исходный массив a[]:');
for i := 1 to n do
begin
a[i] := random(50) - 25;
write(a[i]:8)
end;
writeln;
{формируем и выводим новый}
{сразу осуществляем поиск максимума и минимума}
max := -1000; min := 1000;
writeln('новый массив b[]:');
for i := 1 to n do
begin
b[i] := a[i] * a[i] * a[i];
write(b[i]:8);
if b[i] > max then
begin
imax := i;
max := b[i]
end;
if b[i] < min then
begin
imin := i;
min := b[i]
end
end;
writeln;
{считаем произведение и выводим результаты}
p := max * min;
writeln('максимальный элемент нового массива - b[', imax, '] = ', max);
writeln('минимальный элемент нового массива - b[', imin, '] = ', min);
writeln('их произведение = ', p);
readln
end.
1)11, 21, 36. Признак делимости на 2.
2)Делится. Тк. сумма последних цифр равна 12
3)3599 59 5429 61
61 61 89 89
1 1
НОД(3599, 5429)= 61
4) 540 2 504 2 225 3
270 2 252 2 75 3
135 3 126 2 25 5
45 3 63 3 5 5
15 3 21 3 1
5 5 7 7
1 1
НОК(540, 504, 225)=540*2*7*5=37800
5)667 23 383 простое число
29 29 1
1 (составное)