KollProfil
Можете ли мне объяснить принцип работы программы? Пользователь присваивает целое число переменным "n" и "m", После этого программа должна выполнить некоторые действия. А конкретно, что она делает?
tarsep
Да, конечно. Enumerable.Range(int start, int count) выдаёт IEnumerable, содержащий числа начиная с числа start и в количестве count.
tarsep
Задача сводится к тому что тебе нужно перемножить числа от n до n - (m - 1). Enumerable.Range(n - (m - 1), m) выдаёт тебе как раз ряд, состоящий из этих чисел. После чего Aggregate(1, (x, y) => x * y) просто перемножает все эти числа между собой одно за другим. Результат выводится на экран.ъ
KollProfil
Спасибо за объяснения, но вот ещё один вопросик у меня к вам. Почему Enumerable.Range(n-(m-1),m), а не Enumerable.Range(n-(m+n),m)
Answers & Comments
using System;
using System.Linq;
namespace Task29718822
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Enter n and m:");
int n = int.Parse(Console.ReadLine()), m = int.Parse(Console.ReadLine());
Console.WriteLine(Enumerable.Range(n - (m - 1), m).Aggregate(1, (x, y) => x * y));
}
}
}
Enumerable.Range(int start, int count) выдаёт IEnumerable, содержащий числа начиная с числа start и в количестве count.
Enumerable.Range(n - (m - 1), m) выдаёт тебе как раз ряд, состоящий из этих чисел.
После чего Aggregate(1, (x, y) => x * y) просто перемножает все эти числа между собой одно за другим. Результат выводится на экран.ъ