Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
1 / 0 / 1
Регистрация: 29.10.2017
Сообщений: 45
1

Массив данных с НОД (наибольший общий делитель)

07.02.2019, 23:40. Просмотров 394. Ответов 1
Метки нет (Все метки)

Задача: заполнить массив по возростанию(размер массива так же сами вводим). Необходимо определить длину самой длинной подстроки, в которой самый большой общий делитель каждой пары соседних элементов больше 1. Тоесть:

Пример :
9 // длина массива
2 5 6 7 8 12 15 19 20 //данные с калвиатуры
Результат:
6

Пояснение: самая длинная подстрока, удовлетворяющая условию: 2, 6, 8, 12, 15, 20. Наибольшие общие делители из следующих пар соседних элементов: 2, 2, 4, 3, 5. 2 и 6 делится на 2, 6 и 8 делится на 2, 8 и 12 делится на 4 и так далее

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int k;
             int sum = 0, sim = 0;
             Random ran = new Random();
             Link:
             Console.Write("Test: ");
             int t = Convert.ToInt32(Console.ReadLine());
             if (t > 1000 || t < 1)
             {
 
                 Console.WriteLine("не удолетворяет условю");
 
                 goto Link;
             }
 
             Console.WriteLine();
 
             int[] array = new int[t];
 
             for (int i = 0; i < array.Length; i++)
             {
                metka:
                array[i] = Convert.ToInt32(Console.ReadLine());
 
                if (array[i] < array[i - 1])  // тут не знаю как обойти первый элемент 
                {
                    goto metka;
                    Console.WriteLine("предыдущее число больше введённой ");
                }
                Console.WriteLine(" ");
             }
                 
 
             for(int i = 0; i <= array.Length; i++)
             {
                while (array[i] != array[i+1])//этот код нашёл в инете , нужно ещё прикрутить счётчик
                {
                    if (array[i] >= array[i + 1]) array[i] -= array[i + 1];
                    else array[i + 1] -= array[i];//
                }
             }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2019, 23:40
Ответы с готовыми решениями:

Вычислить НОД(Наибольший общий делитель)
Задача в C#. Ввести два целых числа А и В. Вычислить НОД(Наибольший общий делитель) Делителями...

Циклы. Вывести наибольший общий делитель (НОД) трех целых чисел
Здравствуйте , очень сильно прошу помогите Написать программу на языке программирования,...

Описать нерекурсивную функцию , находящую наибольший общий делитель (НОД) двух натуральных чисел A и B
Описать нерекурсивную функцию NOD2(A,B) целого типа, находящую наибольший общий делитель (НОД) двух...

Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положи
1)Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух...

1
23 / 15 / 10
Регистрация: 18.11.2017
Сообщений: 147
08.02.2019, 23:36 2
Плохой тон использовать goto, особенно когда без него легко можно обойтись, обфускация кода для читающего.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2019, 23:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Наибольший общий делитель
Даны натуральные числа n,m; найти НОД(m,n). Использовать программу, включающую рекурсивную...

Найти наибольший общий делитель
Найти наибольший общий делитель Для чисел 56 и 30

Определить наибольший общий делитель
Определите наибольший общий делитель трех чисел, написав функцию определения наибольшего общего...

Наибольший общий делитель не вычисляется для определенных чисел
Помогите) для большинства чисел всё работает идеально, НО при тестировании выявилось, что не пашет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.