В заданной последовательности целых чисел найти через процедуры максимально длинную подпоследовательность - C#

Узнай цену своей работы

Формулировка задачи:

В заданной последовательности целых чисел найти с помощью процедуры максимально длинную подпоследовательность чисел такую, что каждый последующий элемент подпоследовательности делился нацело на предыдущий.

Решение задачи: «В заданной последовательности целых чисел найти через процедуры максимально длинную подпоследовательность»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. class Program
  6. {
  7.     static List<int> list;
  8.     static void Main()
  9.     {
  10.         Random r = new Random();
  11.         list = Enumerable.Range(0, 10).Select(n => r.Next(1, 10)).ToList();
  12.        
  13.         foreach (int i in list)
  14.             Console.Write(i + " ");
  15.         Console.WriteLine();
  16.  
  17.         foreach(int i in Procedure())
  18.             Console.Write(i + " ");
  19.         Console.ReadKey();
  20.     }
  21.  
  22.     static List<int> Procedure() // т.е. метод
  23.     {
  24.         int max = 0, index = 1;
  25.         List<int> longest = new List<int>();
  26.         while (index < list.Count - 1)
  27.         {
  28.             List<int> current = new List<int>();
  29.             for (int i = index; i < list.Count; i++)
  30.             {
  31.                 if (list[i] % list[i - 1] == 0)
  32.                     current.Add(list[i]);
  33.                 else
  34.                 {
  35.                     index = i + 1;
  36.                     if (max < current.Count)
  37.                     {
  38.                         max = current.Count;
  39.                         longest = current;
  40.                     }
  41.                     break;
  42.                 }
  43.             }
  44.         }
  45.         return longest;
  46.     }
  47. }

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


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

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

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы