Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:a388472c17f4, 2021-04-17 (annotated)
- Committer:
- firefoxik
- Date:
- Sat Apr 17 11:13:51 2021 +0000
- Revision:
- 1:a388472c17f4
- Parent:
- 0:3f1c5a906dc0
Added Recursion function
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| firefoxik | 0:3f1c5a906dc0 | 1 | //Fibanocci | 
| firefoxik | 0:3f1c5a906dc0 | 2 | |
| firefoxik | 0:3f1c5a906dc0 | 3 | #include "mbed.h" | 
| firefoxik | 0:3f1c5a906dc0 | 4 | |
| firefoxik | 1:a388472c17f4 | 5 | int Fibanocci_recursion(int n) | 
| firefoxik | 1:a388472c17f4 | 6 | { | 
| firefoxik | 1:a388472c17f4 | 7 | if (n <= 1) | 
| firefoxik | 1:a388472c17f4 | 8 | return n; | 
| firefoxik | 1:a388472c17f4 | 9 | else | 
| firefoxik | 1:a388472c17f4 | 10 | return Fibanocci_recursion(n-1) + Fibanocci_recursion(n-2); | 
| firefoxik | 1:a388472c17f4 | 11 | } | 
| firefoxik | 1:a388472c17f4 | 12 | |
| firefoxik | 1:a388472c17f4 | 13 | |
| firefoxik | 1:a388472c17f4 | 14 | void Fibanocci(int N) | 
| firefoxik | 1:a388472c17f4 | 15 | { | 
| firefoxik | 0:3f1c5a906dc0 | 16 | int i = 0; | 
| firefoxik | 0:3f1c5a906dc0 | 17 | //Tried up to 50, but at 47, unsigned int number is overflowed showing negative result | 
| firefoxik | 1:a388472c17f4 | 18 | // so I changed to long long | 
| firefoxik | 0:3f1c5a906dc0 | 19 | unsigned long long j = 1; | 
| firefoxik | 0:3f1c5a906dc0 | 20 | unsigned long long k = 0; | 
| firefoxik | 0:3f1c5a906dc0 | 21 | unsigned long long fib = 0; | 
| firefoxik | 1:a388472c17f4 | 22 | while (i<=N) { | 
| firefoxik | 0:3f1c5a906dc0 | 23 | printf("Fibanocci(%d) = %lld\n", i, fib); | 
| firefoxik | 0:3f1c5a906dc0 | 24 | fib = j + k; | 
| firefoxik | 0:3f1c5a906dc0 | 25 | j = k; | 
| firefoxik | 0:3f1c5a906dc0 | 26 | k = fib; | 
| firefoxik | 0:3f1c5a906dc0 | 27 | i++; | 
| firefoxik | 0:3f1c5a906dc0 | 28 | } | 
| firefoxik | 0:3f1c5a906dc0 | 29 | } | 
| firefoxik | 0:3f1c5a906dc0 | 30 | |
| firefoxik | 0:3f1c5a906dc0 | 31 | int main() | 
| firefoxik | 0:3f1c5a906dc0 | 32 | { | 
| firefoxik | 0:3f1c5a906dc0 | 33 | |
| firefoxik | 0:3f1c5a906dc0 | 34 | Fibanocci(50); | 
| firefoxik | 1:a388472c17f4 | 35 | |
| firefoxik | 1:a388472c17f4 | 36 | //recursion function is soo computational complicated, so when reached over 30, it takes ages to compute | 
| firefoxik | 1:a388472c17f4 | 37 | for(int x = 0; x <40; x++) { | 
| firefoxik | 1:a388472c17f4 | 38 | int f = Fibanocci_recursion(x); | 
| firefoxik | 1:a388472c17f4 | 39 | printf("Fibanocci_recursion(%d) = %d\n", x, f); | 
| firefoxik | 1:a388472c17f4 | 40 | } | 
| firefoxik | 0:3f1c5a906dc0 | 41 | while(true) { | 
| firefoxik | 1:a388472c17f4 | 42 | wait(1); | 
| firefoxik | 0:3f1c5a906dc0 | 43 | } | 
| firefoxik | 0:3f1c5a906dc0 | 44 | |
| firefoxik | 0:3f1c5a906dc0 | 45 | |
| firefoxik | 0:3f1c5a906dc0 | 46 | } |