Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 23848ed

Browse files
algorithms/src/main/java/ivanmarkovic/algorithms/recursion/FibonacciSumIterative.java
1 parent db5f8ce commit 23848ed

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package ivanmarkovic.algorithms.recursion;
2+
3+
public class FibonacciSumIterative {
4+
5+
public static void main(String args[]) {
6+
for(int i = 1; i <= 6; i++)
7+
System.out.println("Fibonacci " + i + " is " + fibonacci(i));
8+
9+
System.out.println("-------------------------------------------");
10+
11+
for(int i = 1; i <= 6; i++)
12+
System.out.println("Fibonacci " + i + " is " + fibonacciSum(i));
13+
}
14+
15+
public static int fibonacci(int n) {
16+
return fibonacciHelper(n, 0, 1);
17+
}
18+
19+
private static int fibonacciHelper(int n, int prev, int curr) {
20+
if(n == 1)
21+
return prev;
22+
else if(n == 2)
23+
return curr;
24+
else
25+
return fibonacciHelper(n - 1, curr, prev + curr);
26+
}
27+
28+
29+
public static int fibonacciSum(int n) {
30+
if(n == 1)
31+
return 0;
32+
else if (n == 2)
33+
return 1;
34+
35+
int acc = 0;
36+
int prev = 0;
37+
int curr = 1;
38+
while(n > 2) {
39+
int tmp = prev + curr;
40+
acc += curr;
41+
prev = curr;
42+
curr = tmp;
43+
n--;
44+
}
45+
return curr + acc;
46+
}
47+
48+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /