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

Вычислить суммы первых K чисел Фибоначчи для K=1 … N - C++

Восстановить пароль Регистрация
 
Nzr
Сообщений: n/a
24.11.2012, 09:11     Вычислить суммы первых K чисел Фибоначчи для K=1 … N #1
Вычислить суммы первых K чисел Фибоначчи для K=1 … N.
a)Не храним промежуточные значения вычислений.
b)Храним промежуточные значения вычислений.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
24.11.2012, 14:00     Вычислить суммы первых K чисел Фибоначчи для K=1 … N #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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
unsigned long fibon(unsigned int n);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int K;
    unsigned long summ = 0;
 
    cin >> K;
 
    for (int i=0; i<K; i++)
        summ += fibon(i);
 
    cout << summ << endl;
 
    system("pause");
    return 0;
}
 
 
unsigned long fibon(unsigned int n)
{
    if (n==0 || n==1) return n;
    return fibon(n-1) + fibon(n-2);
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
24.11.2012, 14:01     Вычислить суммы первых K чисел Фибоначчи для K=1 … N #3
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
 #include "iostream" 
using namespace std;
 unsigned long fibon(unsigned int n);
 int _tmain(int argc, _TCHAR* argv[]) {
 int K; unsigned long summ = 0;
 cin >> K; for (int i=0; i<K; i++)
 summ += fibon(i); 
cout << summ << endl;
 system("pause"); 
return 0; 
} 
unsigned long fibon(unsigned int n) {
 if (n==0 || n==1) return n;
 return fibon(n-1) + fibon(n-2); 
}
наказывать за такое надо. Ты каждый раз рекурсивно пересчитываешь каждое новое число Фибонначчи, хотя в процессе вычисления суммы, ты уже все предыдущие числа считал из-за таких как ты системные требования ПО растут!!!
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
24.11.2012, 14:08     Вычислить суммы первых K чисел Фибоначчи для K=1 … N #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
наказывать за такое надо.
Почему? я проверял и все правильно

Добавлено через 3 минуты
Kuzia domovenok, все понял. спасибо. тогда можно через массивы сделать.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
24.11.2012, 14:48     Вычислить суммы первых K чисел Фибоначчи для K=1 … N #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
int main(){
    int K; 
    unsigned long summ = 2;
    cin >> K;
    int f1=1;    
    int f2=1;
    int temp;
    if(k==1) cout<<1;
    else if (k==2) cout<<2;
    else{
    for (int i=3; i<=K; i++)
    {
        temp=f1+f2;//текущее число
        sum+=temp;//сумма
        f1=f2;    //пред-предыдущее число
        f2=temp;//предыдущее число
        }//end for
        cout<<sum;
    }//end if else
}
Добавлено через 37 минут
поправка
C++
1
unsigned long sum = 2;
Yandex
Объявления
24.11.2012, 14:48     Вычислить суммы первых K чисел Фибоначчи для K=1 … N
Ответ Создать тему
Опции темы

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