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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
#1

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

04.12.2010, 15:35. Просмотров 713. Ответов 6
Метки нет (Все метки)

Рассмотрим последовательность чисел 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.

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

Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе - C++
Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующейся. не пойму как сделать,...

Вводится последовательность из N целых чисел. Сформировать последовательность, - C++
Вводится последовательность из N целых чисел. Сформировать последовательность, каждый элемент которой равен сумме цифр исходной...

Вводится последовательность целых чисел,0 –конец последовательности. Определить, содержит ли последовательность хотя бы три отрицательных четных числа - C++
Составить алгоритм решения задачи и написать программу на языке С++. В алгоритме и программе массивов не использовать. ...

Вводить последовательность вещественных чисел, пока следующее вводимое число не окажется меньше предыдущего. Вывести полученую последовательность. - C++
Вводить последовательность вещественных чисел, пока следующее вводимое число не окажется меньше предыдущего. Вывести полученую...

Дана последовательность чисел. Найти количество различных чисел в этой последовательности - C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности. Очень жду ваших решений, заранее огромное...

Задана последовательность из n чисел. Найти количество чисел больше своего номера - C++
заданая последовательность из n чисел: а(1),a(2)...a(n). найти количество чисел больше своего номера...напешите полностью листинг пожалуйста

6
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].

А так понятней?
1
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 16:28  [ТС] #3
дааа спасибо большое)
0
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
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
?
0
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
04.12.2010, 17:15  [ТС] #5
Mr.X, a[2i + 1] = a[i] + a[i + 1]
0
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
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;    
    }
}
1
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;
}
0
04.12.2010, 21:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 21:07
Привет! Вот еще темы с ответами:

Дана последовательность чисел. Найти количество различных чисел в этой последовательности - C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности Дана последовательность чисел. Найти...

Дана последовательность из N натуральных чисел. Выбросить из последовательности минимальное количество чисел, - C++
Дана последовательность из N натуральных чисел. Выбросить из последовательности минимальное количество чисел, чтобы оставшиеся состояли из...

Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5 - C++
1.Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5.

Имеется последовательность чисел содержащая n элементов определить количество четных чисел в последовательности. - C++
Имеется последовательность чисел содержащая n элементов определить количество четных чисел в последовательности.


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

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

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