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

Числа Фибоначчи - растолковать код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление суммы http://www.cyberforum.ru/cpp-beginners/thread1243126.html
Нужно написать программу чтобы в итоге она выдавала сумму: 1/1+3/2+5/3+7/4 ..... 99/50. При этом нужно использовать for, while and do_while.
C++ Оптимизация робота Написал вот эту задачу: Робот Имя входного файла: robot.in Имя выходного файла: robot.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта В исследовательской лаборатории фирмы Robots&Co разработали новую мо- дель робота. Главной особенностью данной модели робота является то, что он ра- ботает по заранее заданной программе, в которой могут присутствовать команды: http://www.cyberforum.ru/cpp-beginners/thread1243123.html
Кодировки (ошибки кодировки) в логировании C++
Здравствуйте. Работаю с WINAPI и оттуда нормально приходят наименования на русском. Вот решил логирование организовать и на этом повалился (приходят символы как при проблеме с кодировкой). Вопрос: перед посылкой придется использовать какую-то обработку по перекодировке? Очень простой пример (вырвано из кода только то что нужно): void ToLog(wstring str){ wcout << str << endl; } int main(int...
Текст в панели задач Windows C++
Какие есть функции для вывода текста на панель задач?
C++ Ошибка передачи параметра в функцию http://www.cyberforum.ru/cpp-beginners/thread1243080.html
#include "stdafx.h" #include "War.h" int _tmain(int argc, _TCHAR* argv) { War warv("Battle"); warv.addWarrior(Barracks::createWarrior("Archer",warv),100); warv.LetTheWarBegin(); } Выскакивает ошибка error C2676: бинарный "Добавлено через 47 секунд
C++ Вычисление времени полета тела Написать программу для вычисления времени полета тела, брошенного под углом к горизонту. Начальная скорость тела равно V и направлена под углом alpha к горизонту. Для вычисления использовать дискретную модель. Может кто подскажет как использовать дискретную модель? Поскольку ни в школе, ни на первом курсе не слышал. Написал как думал, но возможно что какой то бред)) #include<iostream>... подробнее

Показать сообщение отдельно
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
16.08.2014, 02:13     Числа Фибоначчи - растолковать код
Есть также эффективный алгоритм вычисления N-ого числа Фибоначчи за logN. Вот код, разбирайтесь:
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
#include <iostream>
 
using namespace std;
 
int fib(int n)
{
    int a=1,b=1,
        c=1,d=0,
        rc=0,rd=1,
        ta,tb,tc,td;
    while(n)
    {
        if(n & 1)
        {
            tc=rc*a+rd*c;
            td=rc*b+rd*d;
            rc=tc;rd=td;
        }
        ta=a*a+b*c;
        tb=a*b+b*d;
        tc=c*a+d*c;
        td=c*b+d*d;
        a=ta;b=tb;c=tc;d=td;
        n>>=1;
    }
    return rc;
}
 
int main()
{
    int n;
    cin>>n;
    cout<<fib(n)<<endl;
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru