Форум программистов, компьютерный форум CyberForum.ru

Последовательность чисел - C++

Восстановить пароль Регистрация
 
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 15:35     Последовательность чисел #1
Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям:
a0 = 0
a1 = 1
a2i = ai
a2i + 1 = ai + ai + 1
для каждого i = 1, 2, 3, … .
Напишите программу, которая для заданного значения N (0 < N < 100 000) находит максимальное среди чисел a0, a1, …, aN.

Объясните условие, а то я немного не догоняю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 15:35     Последовательность чисел
Посмотрите здесь:

C++ Задана последовательность из n чисел. Найти количество чисел больше своего номера
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Вводится последовательность из N целых чисел. Сформировать последовательность, C++
C++ Вводить последовательность вещественных чисел, пока следующее вводимое число не окажется меньше предыдущего. Вывести полученую последовательность.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
04.12.2010, 16:19     Последовательность чисел #2
Рассмотрим последовательность чисел a[i], где i = 0, 1, 2, …, удовлетворяющих следующим условиям:
a[0]=0
a[1]=1
a[2*i]=a[i]
a[2*i+1]=a[i]+a[i+1]
для каждого i = 1, 2, 3, … .
Напишите программу, которая для заданного значения N (0 < N < 100000) находит максимальное среди чисел a[0], a[1], …, a[N].

А так понятней?
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 16:28  [ТС]     Последовательность чисел #3
дааа спасибо большое)
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,667
04.12.2010, 17:02     Последовательность чисел #4
Давайте все-таки уточним,
a2i + 1 = ai + ai + 1
это
a[2i + 1] = a[i] + a[i + 1]
или
a[2i + 1] = a[i] + a[i] + 1
?
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 17:15  [ТС]     Последовательность чисел #5
Mr.X, a[2i + 1] = a[i] + a[i + 1]
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,667
04.12.2010, 19:36     Последовательность чисел #6
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
41
42
43
44
45
46
47
48
49
//////////////////////////////////////////////////////////////////////////////////////
//Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, 
//удовлетворяющих следующим условиям:
//a[0] = 0
//a[1] = 1
//a[2i] = a[i]
//a[2i + 1] = a[i] + a[i + 1]
//для каждого i = 1, 2, 3, … .
//Напишите программу, которая для заданного значения N (0 < N < 100 000) 
//находит максимальное среди чисел a[0], a[1], …, a[N].
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <cmath>
//////////////////////////////////////////////////////////////////////////////////////
const int IND_MAX = 99999;
//////////////////////////////////////////////////////////////////////////////////////
int  get_max_in_seq(int  n)
{
    int val[IND_MAX + 1] = {0, 1};
    for(int i = 2; i <= n; ++i)
    {
        val[i] = i % 2 == 0 ? val[i / 2] : val[i / 2] + val[i / 2 + 1];
    }
 
    return  *std::max_element(val, val + n + 1);
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {
        int n = 0;
        std::cout << "1 <= N <= "
                  << IND_MAX 
                  << ": ";
        std::cin >> n;        
 
        if(n < 1 || IND_MAX < n)  break;
        
        std::cout << "максимальное среди чисел a0, a1, .., aN равно: "
                  << std::endl
                  << get_max_in_seq(n)
                  << std::endl
                  << std::endl
                  << std::endl;    
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 21:07     Последовательность чисел
Еще ссылки по теме:

Вводится последовательность целых чисел,0 –конец последовательности. Определить, содержит ли последовательность хотя бы три отрицательных четных числа C++
C++ Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5
C++ Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе

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

Или воспользуйтесь поиском по форуму:
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 21:07  [ТС]     Последовательность чисел #7
Получилось вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "StdAfx.h"
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int main()
{
unsigned int i, v[100000];
v[0] = 0;
v[1] = 1;
for(i=2;i<100000;i++){
if(i%2==0) v[i] = v[i/2];
else v[i] = v[(i-1)/2] + v[(i-1)/2+1];
}
unsigned int n;
while(cin >> n){
if(n!=0) cout << *max_element(v, v+n+1) << endl;
}
return 0;
}
Yandex
Объявления
04.12.2010, 21:07     Последовательность чисел
Ответ Создать тему
Опции темы

Текущее время: 21:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru