Var s,p1,p2:string;
a:array['A'..'Z'] of byte;
n,i,j,f:integer; c,sim:char;
begin
readln(n);
readln(s);
for c:='A' to 'Z' do a[c]:=0;
for i:=1 to length(s) do
a[s[i]]:=a[s[i]]+1;
p1:=''; p2:=''; f:=0;
for c:='A' to 'Z' do
begin
for j:=1 to a[c] div 2 do
begin p1:=p1+c; p2:=c+p2; end;
if (a[c] mod 2=1)and(f=0)
then begin sim:=c; f:=1; end;
end;
if f=1 then p1:=p1+sim;
p1:=p1+p2;
writeln(p1);
end.
Пример:
6
QAZQAZ
<span>AQZZQA
PS. Программа проверялась только для коротких (String) строк. Для длинных нужно использовать </span><span>AnsiString.</span>
Существует формула, которая связывает между собой количество возможных информационных сообщений N и количество информации I, которое несет полученное сообщение:
N = 2 в степени I, следовательно
8 = 2 в степени 3, следовательно 3 - количество информации которое несёт одна буква этого алфавита.
Ответ:
Name = input("ВИДИТЕ ВАШЕ ИМЯ")
b = "text"
print(f"Привет {Name},")
Объяснение:ez
//PascalABC.NET 3.3,сборка 1611 от 06.01.2018
//Внимание! Если программа не работает, обновите версию!
begin
var mas:=ArrRandom(10,-44,35); var c:=readinteger('C=');
Writeln('среднее арифметическое =',mas.Where(t->t>c).Average);
end.
Как учат в школе ->
var mas:Array [1..20] of integer;
i,k,c:integer; l:real;
begin
randomize;
for i:=1 to 20 do
mas[i]:=Random(-44,35);
Write('C='); readln(c);
for i:=1 to 20 do
if mas[i]>c then
k:=k+mas[i];
l:=k/20;
Writeln('среднее арифметическое =',l);
end.
///////////////////////////////////////////