0

Помогите решить вопрос пожалуйста.

За прохождение первого уровня видеоигры игрок получает 1 очко. За каждый последующий пройденный уровень получаемые очки увеличиваются на 1. (2 за второй уровень, 3 за третий и так далее). Вам дана программа, которая принимает на входе количество пройденных уровней. Дополните данную функцию, чтобы она принимала количество уровней в качестве аргумента, затем рекурсивно вычисляла и возвращала общее количество очков, полученное за все пройденные уровни. Пример Входных Данных 3 Пример Выходных Данных 6 Объяснение Уровень 1: 1 очко Уровень 2: 2 очка Уровень 3: 3 очка Всего: 1+2+3 = 6 очков.

26th Sep 2021, 6:11 PM
Ilya Zaycev
Ilya Zaycev - avatar
4 Antworten
+ 4
Пожалуйста попытку.
26th Sep 2021, 9:03 PM
JaScript
JaScript - avatar
+ 1
static void Main(string[] args) { int levels = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(Points(levels)); } static int Points(int levels) { int factorial = 1; for (int i = 2; i <= levels; i++) { factorial = factorial + i; } return factorial; }
16th Aug 2022, 11:52 AM
Pop Hey
Pop Hey - avatar
+ 1
Pop Hey программа работает, но к сожалению алгоритм не рекурсивный.
16th Aug 2022, 1:25 PM
JaScript
JaScript - avatar
0
static int Points(int levels) { if (levels == 1) { return 1; } return levels + Points(levels-1); }
16th Aug 2022, 1:36 PM
Pop Hey
Pop Hey - avatar