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

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

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

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

04.12.2010, 15:35. Просмотров 610. Ответов 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.

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

C++ Задана последовательность из n чисел. Найти количество чисел больше своего номера
Последовательность чисел C++
C++ Дана последовательность 100 целых чисел. Подсчитать сумму тех чисел, значения которых совпадают с их порядковым номером.
Последовательность чисел, определить среднее арифметическое простых чисел C++
C++ Задана последовательность действительных чисел. Найти сумму квадратов чисел, значение которых принадлежит промежутку [a, b]
C++ С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне от 140 до 220 (см)
Дана последовательность целых чисел. Указать, пары чисел 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
3021 / 1677 / 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
?
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
3021 / 1677 / 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;    
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 21:07     Последовательность чисел
Еще ссылки по теме:

Дана последовательность чисел. Посчитать сумму цифр десятичной записи всех отрицательных чисел C++
C++ Построить последовательность из 20 чисел, образованную цифрами пятеричного представления последовательности натуральных чисел
C++ Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5
Проверить является ли заданная последовательность целых чисел перестановкой чисел натурального ряда C++
Дано 100 целых чисел (случайная последовательность). Распечатайте эти числа в обратном порядке по 6 чисел в с C++

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

Или воспользуйтесь поиском по форуму:
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     Последовательность чисел
Ответ Создать тему
Опции темы

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