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

Количество чисел Фибоначчи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, в которой из двух очередей больше согласных букв http://www.cyberforum.ru/cpp-beginners/thread845128.html
1)Создать две очереди символов. Входная последовательность символов для обеих оче-редей задается пользователем с клавиатуры. Необходимо: • распечатать обе очереди, • определить, в которой из двух...
C++ Сортировка массива Привет. При сортировки массива ( нулевые элементы необходимо переместить в конец массива), в место первого ноля выдает число 65537. Подскажите в чем проблема и как можно ее исправить? Если необходим... http://www.cyberforum.ru/cpp-beginners/thread845114.html
C++ Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не знают что не так #include ”stdafx.h” #include ”iostream”...
C++ Память для двумерного массива
Доброго времени суток. Нужно сделать программу, где для двумерного массива выделяется память, при условии что malloc вызывается 1 раз.
C++ Строки С++. В строке после каждого слова вставить запятую http://www.cyberforum.ru/cpp-beginners/thread845042.html
В строке после каждого слова вставить запятую. написал вот так что если пробел то ставим вместо него запятую мне сказали что не правильно а как правильно сделать нужно подскажите? int main ()...
C++ Составить регулярное выражение Нужно составить регулярку: проверить является ли строка индентификатором в C++ длиной не более 33 символов. Считается что индентификатор состоит из английских букв, цифр и символов "_", причем... подробнее

Показать сообщение отдельно
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
27.04.2013, 14:41  [ТС]
Цитата Сообщение от IrineK Посмотреть сообщение
Я прошла этот тест.

Чтобы ускорить процесс советую сразу сгенерировать массив из чисел Фибоначчи. Согласно ограничениям на данные вам понадобится 93 числа. Номер числа Фибоначчи и его значение связаны соотношением формулой Бине (есть в Википедии).

Получаем линейный алгоритм:
1) считываем очередное число
2) подставляем его в формулу Бине, определяем соответствующий номер в массиве чисел Фибоначчи
3) сравниваем текущее число с соответствующим числом Фибоначчи, если равны - засчитываем

Время - 15 ms
вот что у еня получилось но на множествах
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
50
51
#pragma comment(linker, "/stack:20000000")
 
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
#include <cstdlib>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <list>
#include <deque>
#include <functional>
#include <sstream>
#include <fstream>
using namespace std;
 
#define pii pair<int,int>
#define pll pair<long long,long long>
#define mp make_pair
#define F first 
#define S second
#define ll long long
#define ull unsigned long long
 
 
int main() {
    int n, k = 0;
    set<ull>mnog;
    double a, b, c, p;
    a = (1 + sqrt(5)) / 2;
    b = (1 - sqrt(5)) / 2;
    for (int i = 1; i < 93; i++) {
        mnog.insert((pow(a, i) - pow(b, i)) / sqrt(5));
    }
    cin >> n;
    ll kar[n];
    for (int i = 0; i < n; i++) {
        cin >> kar[i];
    }
    for (int i = 0; i < n; i++) {
        if (mnog.count(kar[i]))k++;
    }
    cout << k << endl;
 
    return 0;
}
50% всего... как вы 3 пункт делали?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru