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

Ряд Фибоначчи? - C++

Восстановить пароль Регистрация
 
LimboART
5 / 5 / 0
Регистрация: 21.01.2013
Сообщений: 32
06.05.2013, 15:04     Ряд Фибоначчи? #1
Здравствуйте..
Пожалуйста, помогите написать программу, которая выдаст k-ое число из ряда Фибоначии
-----
Кто не знает, то рад фибоначии, это когда f[n] = f[n-1] + f[n-2],,,
то есть 1 1 2 3 5 8 11 19 и т.д. до 1000000 (1 миллион)

Заранее Спасибо

П.С.
ЯП не очень важен, но будет лучше если напишете на VB
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
06.05.2013, 15:11     Ряд Фибоначчи? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
по номеру вывести само число?
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
52
53
54
55
56
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<ll> vll;
typedef set<int> seti;
 
//#define min(a,b) ((a)<(b)?(a):(b))
//#define max(a,b) ((a)>(b)?(a):(b))
//#define sqrt(a) (sqrt(1.0*(a)))
//#define sqr(a) ((a)*(a))
//#define all(a) (a.begin(),a.end())
 
void mul(ll *dest, const ll* src) {
    ll r0, r1, r2, r3;
    r0 = dest[0] * src[0] + dest[1] * src[2];
    r1 = dest[0] * src[1] + dest[1] * src[3];
    r2 = dest[2] * src[0] + dest[3] * src[2];
    r3 = dest[2] * src[1] + dest[3] * src[3];
    dest[0] = r0;
    dest[1] = r1;
    dest[2] = r2;
    dest[3] = r3;
}
 
ll fib(ll n) {
    ll Mpower[] = {0, 1, 1, 1};
    ll Mresult[] = {1, 0, 0, 1};
    int k=n+1;
    while (k) {
        if (k & 1)mul(Mresult, Mpower);
        mul(Mpower, Mpower);
        k >>= 1;
    }
    return Mresult[1];
}
 
int main() {
    ll n;
    cin >> n;
    cout << fib(n) << endl;
    return 0;
}
LimboART
5 / 5 / 0
Регистрация: 21.01.2013
Сообщений: 32
06.05.2013, 15:23  [ТС]     Ряд Фибоначчи? #3
А на Visual Basic? ((
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
06.05.2013, 15:26     Ряд Фибоначчи? #4
Цитата Сообщение от LimboART Посмотреть сообщение
Visual Basic?
причем тут бейсик? мы в теме о с++
http://www.cyberforum.ru/visual-basic/
Yandex
Объявления
06.05.2013, 15:26     Ряд Фибоначчи?
Ответ Создать тему
Опции темы

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