Найдите максимальное значение среди элементов массива - C#
Формулировка задачи:
Дан целочисленный массив из n элементов. Элементы могут принимать целые значения от 1 до 500. Найдите максимальное значение среди элементов массива, которые делят максимальное значение элементов массива без остатка. Гарантируется, что в исходных массиве есть хотя бы один такой элемент.
Решение задачи: «Найдите максимальное значение среди элементов массива»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] a = { 7, 14, 21, 9, 18, 27 };
// массив для подсчета делителей, которые делят элементы массива без остатка
int[] count = new int[a.Length];
int max = 0;
// массив для записи делимых, котороые делятся без остатка
string[] div = new string[a.Length];
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a.Length; j++)
{
// каждый элемент массива делит каждый элемент, и если остаток равен 0, количество на этом индексе в массиве количества увеличивается
if (a[j] % a[i] == 0)
{
count[i]++;
// сюда записываем делимые, котороые делятся без остатка
div[i] += " " + a[j];
}
}
}
for (int i = 0; i < count.Length; i++)
{
Console.WriteLine(a[i] + " делит (" + div[i] + ") без остатка");
// если значение количества равно максимальному, выбирается максимальный элемент исходного массива
if (count[i] == count.Max() && a[i] > max)
{
max = a[i];
}
}
Console.WriteLine(
@"
Итого:
Mаксимальное значение среди элементов массива,
которые делят максимальное значение элементов
массива без остатка = " + max);
Console.ReadKey();
}
}
}