руки чешутся написать задачу, но так как автор вопроса принял решение мной одной его задачи бредом (думаю там вставить код и откомпилировать осталось) , решать не буду.
скажу только что можно а) сократить количество переборов и б) выбрать для перебора начало и шаг; с помощью простой операции и постулата:
1. последовательность должна состоять из трех и более чисел (так как два любых числа можно назвать последовательностью с началом в A[ i ] и шагом в a[ i+1] - a[ i ]).
2. сделать цикл от второго элемента до предпоследнего и найти такой индекс цикла, при котором A[ i ] - A[ i-1 ] == A[ i+1 ] - A[ i ]
если равенство выполняется - вызвать функцию дальнейшего разбора последовательности. параметры функции - начальный индекс i - 1, шаг A[ i ] - A[ i-1] функция вернет длинну последовательности.
осталось найти только MAX(func())...
Другие языки программирования и технологии
В каждом столбце матрицы найти наибольшую группу подряд идущих элементов, образующих арифметическую прогрессию c++
Jurij Vasiljev
спасибо, я не считаю ту твою прогу бредом, но она действительно написанна не в моём стиле, к тому же походу ты не так понял условие "Идея такая - массив A[10] - целочисленный. Обнуляешь вначале, потом как цифры находишь - прибавляешь A[ цифра ] - в конце в цикле О(10) перебираешь - если хоть в одном элементе число равно числу элементов массива - ответ - есть общая цифра. Сейчас нарисую. " она впринципе то работает, другой вопрос что непонятно каким образом работает, нет единой логической цепочки, лишь набор зарисовок
сначала определить шаг потом проверять.. .
сначала определить шаг потом проверять.. .
сначала определить шаг потом проверять.. .
сначала определить шаг потом проверять.. .
тут только полным перебором простого решения для этой задачи нет
сначала определить шаг потом проверять.. .
сначала определить шаг потом проверять.. .
сначала определить шаг потом проверять.. .
тут только полным перебором простого решения для этой задачи нет
Jurij Vasiljev
полным перебором это как?
чисто советую скачать аццкую книжку кормен, лейзерсон, ривест "алгоритмы, постоение и анализ". она и вообще вещь очень полезная, а в данном случае - посмотри, что он про динамическое программирование пишет.
Можно попробовать составить массив из коэффициентов прогрессии для всех пар mas [ i } и mas [ i+1 ] , а после этого искать в нем самую длинную цепочку одинаковых чисел...
Похожие вопросы
- дана матрица а размерности n на m. Найти максимальный элемент в каждом столбце. Помогите пожалуйста решить. На языке C++
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- кто может сделать прогу в C++ которая поменяет местами в каждом столбце минимальный и максимальные элементы в матрице??
- Помогите !!!С++Работа с одномерными и двумерными массивами. В каждой строке матрицы F(k, k) элемент. лежащий на главной
- Написать программу в VBA арифметической прогрессии в динамическом массиве.
- Дана матрица размером n x m. Найти наибольший положительный и наименьший отрицательный элементы матрицы.
- Матрица M*N, состоящая из "0" и "1", найти наибольшую фигуру из единиц с помощью рекурсии. С++
- помогите составить программу на Pascal дана матрица NxN.Найти наибольший элемент строки K.
- visual c++ объясните, пожалуйста, что означает каждая строчка. задание: найти число различных элементов в массиве
- Помогите с кодом, нужно понять являются ли 3 введенных числа Арифметической прогрессией, мой код выдает ошибку