10 / 10 / 1
Регистрация: 18.03.2010
Сообщений: 142
1

Найти самую длинную подпоследовательность, которая является арифметической или геометрической прогрессией

18.03.2010, 16:33. Показов 7015. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданной последовательности целых чисел (без 0) найти самую длинную подпоследовательность, которая является арифметической или геометрической прогрессией. Последовательность забиваем через массив, помагите пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2010, 16:33
Ответы с готовыми решениями:

Найти первую самую длинную подпоследовательность, которая является пилообразной
Здравствуйте! Есть интересная, но сложная задачка: Есть последовательность чисел. Найти...

Определить, является ли целочисленный массив арифметической или геометрической прогрессией.
Определить, является ли целочисленный массив арифметической или геометрической прогрессией.

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

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

2
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.03.2010, 17:34 2
Лучший ответ Сообщение было отмечено nikola166 как решение

Решение

Элементы массивов len_geom[i] и len_arifm[i] показывают какая длинна максимально геометрической или арифметической прогрессии соответственно, заканчивающейся на i-ом элементе последовательности.
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
#include <iostream>
using namespace std;
 
int main()
{
        int a[]={1,2,4,8,16,32,64,127,1,2,3,4,5,7,9,11,13,15,17,19,20,6};
        int N=21, len_arifm[100],len_geom[100],ans_arifm=1,ans_geom=1,i;
        len_arifm[1]=2;
        len_geom[1]=2;
        for (i=2; i<N; ++i)
        {
                if(a[i]-a[i-1]==a[i-1]-a[i-2])
                        len_arifm[i]=len_arifm[i-1]+1;
                else len_arifm[i]=2;
                if(a[i-1]*a[i-1]==a[i]*a[i-2])
                        len_geom[i]=len_geom[i-1]+1;
                else len_geom[i]=2;
                if(len_arifm[i]>len_arifm[ans_arifm])
                        ans_arifm=i;
                if(len_geom[i]>len_geom[ans_geom])
                        ans_geom=i;
        }
        cout<<"Naibolshaya arifmeticheskaya progressiya: ";
        for (i=ans_arifm-len_arifm[ans_arifm]+1; i<=ans_arifm;++i)
                cout<<a[i]<<' ';
        cout<<"Dlinna: "<<len_arifm[ans_arifm]<<endl;
        cout<<"Naibolshaya geometriceskaya progressiya: ";
        for (i=ans_geom-len_geom[ans_geom]+1; i<=ans_geom;++i)
                cout<<a[i]<<' ';
        cout<<"Dlinna: "<<len_geom[ans_geom]<<endl;
        if (len_arifm[ans_arifm]>=len_geom[ans_geom])
               cout<<"Resheniem zadachi yavlyaetsya ukazannaya arifmeticheskaya progressiya"<<endl;
        else cout<<"Resheniem zadachi yavlyaetsya ukazannaya geometricheskaya progressiya"<<endl;
        system("PAUSE");
        return 0;
}
0
10 / 10 / 1
Регистрация: 18.03.2010
Сообщений: 142
18.03.2010, 18:14  [ТС] 3
спасибо огромное
0
18.03.2010, 18:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2010, 18:14
Помогаю со студенческими работами здесь

Найти самую длинную неубывающую подпоследовательность данной последовательности (с использованием списков)
Дана последовательность вещественных чисел a1,a2,...,an. Указать самую длинную неубывающую...

Найти самую длинную неубывающую подпоследовательность данной последовательности с использованием списков
Дана последовательность вещественных чисел a1,a2,...,an. Указать самую длинную неубывающую...

Найти самую длинную неубывающую подпоследовательность данной последовательности (с использованием списков)
Дана последовательность вещественных чисел a1,a2,...,an. Указать самую длинную неубывающую...

Является ли одномерный массив геометрической прогрессией?
Задан размер массива вещественных чисел и значения его элементов. Определить, являются ли его...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru