8609. Рекурсия – 1

 

Реализуйте рекурсивную функцию:

 

Вход. Одно целое число n (0 ≤ n ≤ 1000).

 

Выход. Выведите значение f(n).

 

Пример входа

Пример выхода

5

15

 

 

РЕШЕНИЕ

рекурсия

 

Анализ алгоритма

В задаче следует реализовать заданную рекурсивную функцию.

 

Реализация алгоритма

Реализуем функцию f, указанную в условии задачи.

 

int f(int n)

{

  if (n == 0) return 0;

  return f(n - 1) + n;

}

 

Основная часть программы. Читаем входное значение n.

 

scanf("%d", &n);

 

Вычисляем значение функции и выводим ответ.

 

printf("%d\n", f(n));

 

Java реализация

 

import java.util.*;

 

public class Main

{

  static int f(int n)

  {

  if (n == 0) return 0;

  return f(n-1) + n;

  }

 

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    int res = f(n);

    System.out.println(res);

    con.close();

  }

}

 

Python реализация

Увеличим стек для рекурсии.

 

import sys

sys.setrecursionlimit(1100)

 

Реализуем функцию f, указанную в условии задачи.

 

def f(n):

  if n == 0: return n

  return f(n - 1) + n

 

Основная часть программы. Читаем входное значение n.

 

n = int(input())

 

Вычисляем значение функции и выводим ответ.

 

print(f(n))