На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> реккурентные формулы , задачка
    Написать программу нахождения первого члена последовательности {Zn}, который не принадлежит отрезку [ а; b ], где a, b - заданные числа
    Zn=(-1)в степени n *(1+1/2+...+1/n), n=1,2,…,m.
    решить с помощью реккурентных формул
      M
      Тема перенесена из Pascal
        1. Регистрируемся ;)
        2. Читаем Правила
        3. Отвечаем на вопрос. Нужна программа или алгоритм :D ?
          Цитата
          Math, 16.08.04, 23:14
          Нужна программа или алгоритм ?

          Обойдётся без программы. Алгоритма настоящему студенту должно быть вполне достаточно. :)
            Romtek, не надо так жестоко ;) Людям надо помогать :yes:
            Ksander, ну, давай разбираться.
            Что такое рекурентаная формула? Это когда следующий член последовательности как-то зависит от предыдущих (возможно, от одного). Естественно, должно быть определено значение для первого (или нулевого) члена.
            В данной задаче:
            Z(1) = (-1)^1 * 1
            Z(2) = (-1)^2 * (1 + 1/2)
            .....
            Z(N) = (-1)^N * (1 + 1/2 + ... + 1/(N - 1) + 1/N) = (-1) * [(-1)^(N-1) * (1 + 1/2 + ... + 1/(N - 1)] + (-1)^N * (1/N) = -Z(N - 1) + (-1)^N * (1/N)
            Получается, что у нас Z(N) зависит от Z(N - 1)!
            Z(N) = -Z(N - 1) + (-1)^N * (1/N)
            Тогда код выглядит так:
            ExpandedWrap disabled
              function z(n : integer) : real;
              var power : integer;
              begin
               if (n = 1) then z:=-1
               else begin
                if (n mod 2 = 0) then power:=1 else power:=-1; {коэффциент (-1)^n}
                z:=-z(n - 1) + power / n;
               end;
              end;
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0187 ]   [ 14 queries used ]   [ Generated: 19.05.24, 04:11 GMT ]