1 package com.dvp.tutoriel.fibonacci;
2
3 public class MaCalculette3 implements Calculette {
4
5 @Override
6 public Long fibonacci(Integer n) {
7
8
9 if (n <= 0) {
10 throw new IllegalArgumentException("On ne calcule que pour des nombres positifs");
11 }
12
13
14
15
16 switch (n) {
17 case 1:
18 case 2:
19 return 1L;
20
21 case 3:
22 return 2L;
23
24 case 4:
25 return 3L;
26
27 case 5:
28 return 5L;
29
30 case 6:
31 return 8L;
32
33 case 7:
34 return 13L;
35 case 8:
36 return 21L;
37
38 default:
39 return fibonacci(n - 1) + fibonacci(n - 2);
40 }
41
42 }
43
44 }