Var s,st: string; a: array[1..255] of integer; i: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do inc(a[ord(s[i])]); st:=''; for i:=1 to length(s) do if ((a[ord(s[i])]>=2) and (s[i] in ['а'..'я'])) then continue else st:=st+s[i]; writeln('новая строка: ',st); end.
строка: Это строка для проверки. новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string; a: array[1..255] of integer; i,j: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do if ord(s[i])>32 then begin inc(a[ord(s[i])]); if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))]) else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]); end; j:=0; for i:=1 to length(s) do if (a[ord(s[i])]>=2) then continue else begin inc(j); s[j]:=s[i]; end; delete(s,j+1,length(s)-j); writeln('новая строка: ',s); end.
i - кол-во бит N - мощность (кол-во всех возможных вариаций) Корабль передаёт либо длинный, либо короткий значит может принимать всего 2 состояния. Он отправляет 6 сигналов (3 коротких 3 длинных) Значит код-во возможных вариаций расстановок этих сигналов будет равна Подставим в формулу Следовательно i = 6 Кол-во бит информации - 6 ответ: 6 /////////////////////////////////////////////////////// А вообще для таких задач я использую такую формулу K - сколько всего может быть исходов, i - кол-во бит
Корабль может передавать либо короткий, либо длинный сигнал. Значит кол-во состояний - 2 Он передаёт 3 коротких и 3 длинных, значит всего - 3+3 = 6 кол-во всех возможных исходов при 6 сигналах и кол-во состояний будет равно Если ты понимаешь суть логарифма, то ответ уже думаю тебе ясен, если нет, то читай дальше :) Подставляем в нашу формулу кол-во возможных событий логарифм по основанию a, это значит надо найти такою степень числа a, при возведении в которую получится число, которое в выражении логарифма, а так как мы в логарифме по основанию 2 возводим число 2, то тут и вычислять нечего. Просто пишем степень двойки. Это число 6.
begin
s:=0;
for i:=1 to 25 do s:=s+i;
writeln(s);
end.