Var s:string; i:integer; m:set of char;
begin
writeln('Введите слово:');
readln(s);
m:=[];
i:=1;
while i<=length(s) do
if s[i] in m then delete(s,i,1) else begin m:=m+[s[i]]; i:=i+1; end;
writeln(s);
end.
Пример:
Введите слово:
электрификация
электрифаця
16 = 2⁴
Смотрим степень двойки - 4.
Ответ: 4 бита.
Const
n=15;
var
s:array[1..n] of real;
st,p:real;
i,k:integer;
begin
Writeln('Введите ',n,' сумм остатков');
st:=0;
for i:=1 to n do
begin Read(s[i]); st:=st+s[i] end;
Writeln('Удельные веса остатков по магазинам');
k:=0;
for i:=1 to 15 do
begin
p:=s[i]/st*100;
Writeln(i,' - ',p:0:1);
if p>12 then Inc(k)
end;
Write('Количество магазинов с уд. весом остатков >12%, равно ');
Writeln(k)
end.
<em><u>Тестовое решение:</u></em>
Введите 15 сумм остатков
0.37 1.5 2.11 3.4 9.3 2.89 4 0.85 0 0.73 4.2 5.05 3.5 2.18 0.94
Удельные веса остатков по магазинам
1 - 0.9
2 - 3.7
3 - 5.1
4 - 8.3
5 - 22.7
6 - 7.0
7 - 9.8
8 - 2.1
9 - 0.0
10 - 1.8
11 - 10.2
12 - 12.3
13 - 8.5
14 - 5.3
15 - 2.3
Количество магазинов с уд. весом остатков >12%, равно 2
<em><u>Полное решение по заданию находится в файле формата MS Word-2003</u></em>
Самое понятное решение таких задач, с моей точки зрения, такое
Обозначим за X 4-ю строку
Тогда 5)ХХE
6)XXEXXEF
7)<u>XXEXXEFXXE</u>XXEFG
В 4-ой строке 15 символов
Значит в 7-й подчеркнутый момент составляет 30*3+4=94
Т.е на 95 месте будет начало строки Х
<span>AABAABCAABA<u>ABCD</u> дальше опять идет Х т.е<u> </u></span><u>AA</u>BAABCAABAABCD
Т.е ответ <u>ABCD</u><u>AA</u>
Впринципе вот сам и алгоритм. Пожалуйста проверь на тестах, 100% просто гарантировать врядли смогу