1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Delphi - FAQ", создана пользователем -, 4 апр 2006.

Статус темы:
Закрыта.
  1. Гость

    Репутация:
    0
    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.
     
  2. Poseidon

    Poseidon Гость

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

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

    mikola1 Гость

    Репутация:
    0
    function -> end
    then begin -> end
    case of -> end

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

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

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

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



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

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

    Уж больно некрасиво решать такую задачу тупым перебором..
     
  4. _#_Yur@_#_

    _#_Yur@_#_ Гость

    Репутация:
    0
    наверно надо решать сконца
     
Загрузка...
Похожие Темы - Помогите решить задачку
  1. darklisa
    Ответов:
    3
    Просмотров:
    1.886
  2. Ким
    Ответов:
    23
    Просмотров:
    1.008
  3. Makc
    Ответов:
    4
    Просмотров:
    268
  4. mrx13
    Ответов:
    8
    Просмотров:
    657
  5. z3RoTooL
    Ответов:
    9
    Просмотров:
    818
Статус темы:
Закрыта.

Поделиться этой страницей