Skip to content

Commit 38950b4

Browse files
authored
Merge pull request kelvins#237 from andersonhsporto/main
Add fibonacci in C
2 parents 109ded3 + 874a373 commit 38950b4

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -937,8 +937,8 @@ Com o objetivo de alcançar uma abrangência maior e encorajar mais pessoas a co
937937
<tr>
938938
<td><a href="https://pt.wikipedia.org/wiki/Sequ%C3%AAncia_de_Fibonacci">Fibonacci</a></td>
939939
<td> <!-- C -->
940-
<a href="./CONTRIBUTING.md">
941-
<img align="center" height="25" src="./logos/github.svg" />
940+
<a href="./src/c/Fibonacci.c">
941+
<img align="center" height="25" src="./logos/c.svg" />
942942
</a>
943943
</td>
944944
<td> <!-- C++ -->

src/c/Fibonacci.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <stdio.h>
2+
3+
int fibonacci_iterative(int number) {
4+
int last_number = 0;
5+
int current_number = 1;
6+
7+
for (int index = 0; index < number; ++index) {
8+
int temp = current_number;
9+
current_number += last_number;
10+
last_number = temp;
11+
}
12+
return last_number;
13+
}
14+
15+
int fibonacci_recursive(int number) {
16+
if (number == 0) {
17+
return 0;
18+
} else if (number == 1) {
19+
return 1;
20+
} else {
21+
return fibonacci_recursive(number - 1) + fibonacci_recursive(number - 2);
22+
}
23+
}
24+
25+
int main(void) {
26+
int test_nbr = 12;
27+
28+
printf("iterative: %d\n", fibonacci_iterative(test_nbr));
29+
printf("recursive: %d\n", fibonacci_recursive(test_nbr));
30+
return 0;
31+
}

0 commit comments

Comments
 (0)