diff --git a/lib/report/.gitkeep b/lib/report/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..3b4d0d4 --- /dev/null +++ b/readme.md @@ -0,0 +1,16 @@ +# 斐波那契数列计算函数 + +用于斐波那契数列中第N个元素的值,在报表模板中设置格子的值为公式: + +``` +=Fibonacci(50) + +``` + +模板设置如图所示: + +![tpl](screenshots/1.png) + +报表展示结果如下图所示: + +![show](screenshots/2.png) \ No newline at end of file diff --git a/screenshots/1.png b/screenshots/1.png new file mode 100644 index 0000000..5d411a0 Binary files /dev/null and b/screenshots/1.png differ diff --git a/screenshots/2.png b/screenshots/2.png new file mode 100644 index 0000000..c3ac205 Binary files /dev/null and b/screenshots/2.png differ diff --git a/src/main/java/com/fr/plugin/function/fib/Fibonacci.java b/src/main/java/com/fr/plugin/function/fib/Fibonacci.java index 3291059..e7494ec 100644 --- a/src/main/java/com/fr/plugin/function/fib/Fibonacci.java +++ b/src/main/java/com/fr/plugin/function/fib/Fibonacci.java @@ -24,7 +24,7 @@ public class Fibonacci extends AbstractFunction { return getFib(n); } - private int getFib(int n) { + private long getFib(int n) { if (n < 0) { return -1; } else if (n == 0) { @@ -32,7 +32,7 @@ public class Fibonacci extends AbstractFunction { } else if (n == 1 || n == 2) { return 1; } else { - int[] fibAry = new int[n + 1]; + long[] fibAry = new long[n + 1]; fibAry[0] = 0; fibAry[1] = fibAry[2] = 1; for (int i = 3; i <= n; i++) {