Хелпикс

Главная

Контакты

Случайная статья





Задача 3. Шифровка числа (25 баллов)



Задача 3. Шифровка числа (25 баллов)

Задается список из N (1≤N≤500) слов, длины не более 10. По ним составляется число по следующему правилу: количество букв в слове соответствует цифре в числе. Число вещественное, поэтому первые k (1≤K≤N) цифр отводятся целой части.

Вывести исходное закодированное число.

Например, при k=1 и количестве слов N=9 со словами:

May

I

have

a

large

container

of

coffee

beans

получим число пи: 3.14159265.

 

Решение:

Последовательно считываем слова и находим длину, которую преобразуем в символ и добавляем к исходной строке. Если длина n > 255, то цифры лучше хранить в массиве. 

 var n, k, i, l : integer;

  s:string;

A:array[1..500] of integer;

begin

readln(n,k);

for i:=1 to n do begin

readln(s);

l:=length(s);

A[i]:=l;

end;

 //вывод получившегося числа

for i:=1 to k do write(A[i]); // целая часть

if(k<n)then write('.');

for i:=k+1 to n do write(A[i]); // дробная часть

writeln;

end.

 

Задача 4. Наша Таня громко плачет (30 баллов)

Тяжела жизнь системного администратора в крупной компании! То у одного из сотрудников не работает принтер, то у другого отключился интернет. Передохнуть нельзя ни секунды.

Сегодня рабочий день системного администратора Миши начался со звонка секретаря Тани, которая в очередной раз не справилась с редактированием документа. Миша моментально пришёл к Тане и узнал, что в результате ошибки в папке на ее компьютере оказалось n копий документа, над которым она сейчас работает. Других документов в папке нет. Таня просит Мишу удалить лишние копии, чтобы у неё осталась ровно однакопия нужного файла.Таня работает в операционной системе Bububuntu, в которой есть две команды, позволяющие удалять файлы. Первая команда удаляет один произвольный файл с компьютера. На выполнение этой команды Миша тратит A секунд. Вторая команда рассчитана как раз на случай, подобный Таниному, и позволяет уменьшить количество копий файла в k раз. В силу технический особенностей Bububuntu эта команда работает, только если количество файлов в папке делится на k без остатка. На выполнение этой команды Миша тратит B секунд.

Для решения Таниной проблемы Миша решил по очереди использовать эти команды таким образом, чтобы в конце в папке остался ровно один документ.

У Миши сегодня много других дел, поэтому он хочет справиться с проблемой как можно быстрее. Помогите Мише и скажите, за какое минимальное количество секунд он сможет решить Танину проблему, если будет действовать оптимально.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.