From 3e8ac7ba4a8f410703aa5a8426f542217adcbf2f Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 14 Nov 2025 20:55:42 +0200 Subject: feat(Week07): Add solutions --- Week07/Exercise02.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Week07/Exercise02.cpp (limited to 'Week07/Exercise02.cpp') diff --git a/Week07/Exercise02.cpp b/Week07/Exercise02.cpp new file mode 100644 index 0000000..7074353 --- /dev/null +++ b/Week07/Exercise02.cpp @@ -0,0 +1,29 @@ +#include + +// Това е пример за декларация на функция: просто описваме функцията +// как ще изглежда. Това ни позволява да сложим самата имплементация +// някъде другаде. +// Има специални механизми, чрез които самата дефиниция/имплементация +// се "свързва" навсякъде където я използваме. За това в бъдеще. +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; +} -- cgit v1.3.1-23-gd82d