0
Помогите решить вопрос пожалуйста.
За прохождение первого уровня видеоигры игрок получает 1 очко. За каждый последующий пройденный уровень получаемые очки увеличиваются на 1. (2 за второй уровень, 3 за третий и так далее). Вам дана программа, которая принимает на входе количество пройденных уровней. Дополните данную функцию, чтобы она принимала количество уровней в качестве аргумента, затем рекурсивно вычисляла и возвращала общее количество очков, полученное за все пройденные уровни. Пример Входных Данных 3 Пример Выходных Данных 6 Объяснение Уровень 1: 1 очко Уровень 2: 2 очка Уровень 3: 3 очка Всего: 1+2+3 = 6 очков.
4 ответов
+ 4
Пожалуйста попытку.
+ 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;
}
+ 1
Pop Hey программа работает, но к сожалению алгоритм не рекурсивный.
0
static int Points(int levels)
{
if (levels == 1)
{
return 1;
}
return levels + Points(levels-1);
}