Сайт Богданова Дмитрия Валериевича

Задание №1701/11

Задание

Ниже на четырёх языках записаны рекурсивные алгоритмы F и G.

  • Копировать
    function F(n : integer) : integer;
    begin
      writeln(n);
      if n < 2 then
        F := 1
      else
        F := n * F(n - 1)
    end;
    
    procedure G(n : integer);
    begin
      if F(n) > 5 * n then
        G(n - 1);
      writeln(n)
    end;
    
  • Копировать
    #include <stdio.h>
    
    int F(int n) {
      printf("%d\n", n);
      if (n < 2)
        return 1;
      else
        return n * F(n - 1);
    }
    
    void G(int n) {
      if (F(n) > 5 * n)
        G(n - 1);
      printf("%d\n", n);
    }
    
  • Копировать
    FUNCTION F(N)
      PRINT N
      IF N < 2 THEN
        F = 1
      ELSE
        F = N * F(N - 1)
      END IF
    END FUNCTION
    
    SUB G(N)
      IF F(N) > 5 * N THEN
        G(N - 1)
      END IF
      PRINT N
    END SUB
    
  • Копировать
    def F(n) :
      print(n + "\n")
      if n < 2:
        return 1
      else :
        return n * F(n - 1)
    
    def G(n) :
      if F(n) > 5 * n :
        G(n - 1)
      print(n + "\n")
    

Чему равна сумма пятого и предпоследнего числа, напечатанных на экране при выполнении вызова G(5)?

Решение

Подробнее...

Ответ

5

Подробнее...
Добавить комментарий
Комментарии (0)