Найти количество и произведение элементов, содержащихся между первым и последним максимальным элементом - C#
Формулировка задачи:
Дано целое число N. Задать N элементов одномерного массива. Найти количество и
произведение элементов, содержащихся между первым и последним максимальным
элементом. Если в наборе имеется единственный максимальный элемент, то вывести
0.
Решение задачи: «Найти количество и произведение элементов, содержащихся между первым и последним максимальным элементом»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static void Main()
{
int n = 20;
int[] arr = Enumerable.Repeat(new Random(), n).Select(r => r.Next(1, 10)).ToArray();
Console.WriteLine(String.Join(", ", arr));
int max = arr.Max();
int first = Array.IndexOf(arr, max);
int last = Array.LastIndexOf(arr, max);
int quantity = last - first - 1;
if (quantity > 0)
{
Console.WriteLine(quantity);
Console.WriteLine(Enumerable.Range(first + 1, quantity)
.Aggregate(1, (p, i) => p * arr[i]));
}
else
{
Console.WriteLine("0");
}
}
}