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

Количество чисел Фибоначчи - 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” #include “locale” using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Память для двумерного массива
Доброго времени суток. Нужно сделать программу, где для двумерного массива выделяется память, при условии что malloc вызывается 1 раз.
C++ Строки С++. В строке после каждого слова вставить запятую http://www.cyberforum.ru/cpp-beginners/thread845042.html
В строке после каждого слова вставить запятую. написал вот так что если пробел то ставим вместо него запятую мне сказали что не правильно а как правильно сделать нужно подскажите? int main () { setlocale(0,""); char s; cin.getline(s, 256); // вводим строку for(int i = 0; i < strlen(s); i++) { if(s==' ')
C++ Составить регулярное выражение Нужно составить регулярку: проверить является ли строка индентификатором в C++ длиной не более 33 символов. Считается что индентификатор состоит из английских букв, цифр и символов "_", причем первым символом может быть либо буква либо подчеркивание. подробнее

Показать сообщение отдельно
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
22.04.2013, 15:28     Количество чисел Фибоначчи
Последовательность Фибоначчи - это такая последовательность, в которой каждый элемент равен сумме двух предыдущих, за исключением первых двух элементов F1 = 1, F2 = 1, Fn = Fn-2 + Fn-1.

1 1 2 3 5 8 13 21 …

Задан массив целых чисел, среди которых возможно есть числа Фибоначчи. Подсчитайте количество чисел Фибоначчи в заданном наборе чисел.


Технические условия
Входные данные

В первой строке записано число k - количество чисел, в следующей строке записано k чисел a1, a2, …, ak (0 < k ≤ 1000, 1 ≤ ai < 263).

Выходные данные

Вывести одно число - количество чисел Фибоначчи.
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
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
 
using namespace std;
 
#define DB(a) cout<<#a<<"="<<a<<" ";
#define DBN(a) cout<<#a<<"="<<a<<endl;
 
 
typedef long long ll;
typedef unsigned long long ull;
 
 
 
 
ull IsFibon_recursive(ull prev, ull cur, ull x) {
    if (x > prev)
        return IsFibon_recursive(cur, prev + cur, x);
    return x == prev;
}
 
ull IsFibon(ull x) {
    return IsFibon_recursive(0, 1, x);
}
 
int main() {
    ll n, d = 0;
 
    cin >> n;
    ull arr[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    for (int i = 0; i < n; i++) {
        if (IsFibon(arr[i]))d++;
    }
    cout << d << endl;
    return 0;
}
проходит на 50%
считает правильно, проходит на 50%, что делаю не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru