Website Summary Files Commits Branches @commit @diff @stats
path: root / Week07 / Exercise02.cpp
blob: 70743532f85d84b77156869dcbfb7fb70d382d0e (plain) (blame)
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
#include <iostream>

// Това е пример за декларация на функция: просто описваме функцията
// как ще изглежда. Това ни позволява да сложим самата имплементация
// някъде другаде.
// Има специални механизми, чрез които самата дефиниция/имплементация
// се "свързва" навсякъде където я използваме. За това в бъдеще.
unsigned int fib(unsigned int n);

int main() {
	unsigned int num;
	std::cin >> num;
	std::cout << fib(num) << std::endl;

	return 0;
}

// Това е дефиницията/имплементацията на функцията.
unsigned int fib(unsigned int n) {
	unsigned int f0 = 0, f1 = 1;
	while (n > 0) {
		unsigned int temp = f0;
		f0 = f1;
		f1 += temp;

		n--;
	}
	return f0;
}