• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите решить задачку из нулевого варианта ЦТ!

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

10 апреля у меня ЦТ. Купила нулевой вариант, а там ТАКОЕ!!! Мы на информатике вообще такого не проходили. Благодаря научной литературе 20 из 30 заданий я решать научилась. Остальные никак не могу въехать. Подскажите КАК решать задачку:

function F(X:string):string;
var
L:=Length(X);
if L>1 then
begin
T:=Copy(X,2,L-1);
case X[1] of
'0': F:=T;
'1': F:=F(T)+'0'+F(T);
else F:=F(X)
end
end
else
F:=F(X)
end

Найти строку X, для которой F(X)=2X.
 
P

Poseidon

Хм, интересно. Почему 3 end и только 1 begin?
Далее...
Не обьявлено не одной переменной, хоть испольщзуется 3 и еще массив
Нет Result , т.е. функция ничего не возвращает.

В общем, нерабочая функция :)
 
M

mikola1

Хм, интересно. Почему 3 end и только 1 begin?
function -> end
then begin -> end
case of -> end

Нет Result , т.е. функция ничего не возвращает.
А что без Result функция не может вернуть значения так F := T;

Двойка Poseidon за знание Delphi/Pascal

Result был введен в Delphi

А задачка прикольная с рекурсией, даже не знаю как решать. Только кажется рекурсия будет бесконечной, в предпоследней строчке наверное должно быть F := X; вместо F := F(X);



Подскажите КАК решать задачку:

Есть идея. Одно правило гласит, любую рекурсию можно представить в конечного набора циклов. См. пример с факториалом. Можно преобразовать исходную функцию и привести к набору циклов. А там что нибудь будет видно.

Говорите из ЦТ задачка, хм.. мозги уже мои усохли..

Уж больно некрасиво решать такую задачу тупым перебором..
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!