Найдите максимальное значение среди элементов массива - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.667 из 5
Похожие ответы