В заданной последовательности целых чисел найти через процедуры максимально длинную подпоследовательность - C#
Формулировка задачи:
В заданной последовательности целых чисел найти с помощью процедуры максимально длинную подпоследовательность чисел такую, что каждый последующий элемент подпоследовательности делился нацело на предыдущий.
Решение задачи: «В заданной последовательности целых чисел найти через процедуры максимально длинную подпоследовательность»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; class Program { static List<int> list; static void Main() { Random r = new Random(); list = Enumerable.Range(0, 10).Select(n => r.Next(1, 10)).ToList(); foreach (int i in list) Console.Write(i + " "); Console.WriteLine(); foreach(int i in Procedure()) Console.Write(i + " "); Console.ReadKey(); } static List<int> Procedure() // т.е. метод { int max = 0, index = 1; List<int> longest = new List<int>(); while (index < list.Count - 1) { List<int> current = new List<int>(); for (int i = index; i < list.Count; i++) { if (list[i] % list[i - 1] == 0) current.Add(list[i]); else { index = i + 1; if (max < current.Count) { max = current.Count; longest = current; } break; } } } return longest; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д