关于斐波那契数列

是否有公式可以不借助辅助格直接生成一个指定长度的斐波那契数列?

注:非数学通项公式那种解法

没有递归或者迭代reduce计算方面的函数吗?

建议内置lambda函数,这样做自定义函数扩展会很方便。

FineReport yzmJ2SJR9187610 发布于 2023-3-24 17:49 (编辑于 2023-3-26 11:20)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
yzmJ2SJR9187610Lv2见习互助
发布于2023-3-26 11:22(编辑于 2023-3-26 11:23)
package com.fr.function; import com.fr.script.AbstractFunction; public class pq extends AbstractFunction {     public Object run(Object[] args) {         int x=Integer.parseInt(args[0].toString());         long[] res=new long[x+1];         res[0]=1;         res[1]=1;         for (int i = 2; i <= x; i++) {             res[i]=res[i-1]+res[i-2];         }         return res[x];     } } /**  * 斐波那契数列  * 调用方式=pq(x)  * 返回斐波那契数列数列中指定项  */

最佳回答
1
帆软用户lYXNlGv8t4Lv2见习互助
发布于2023-3-27 10:39
package com.fr.function; import com.fr.general.FArray; import com.fr.script.AbstractFunction; /**  * 自定义函数fiboFSM   * 输出结果是帆软的数组形式  */ public class fiboFSM extends AbstractFunction {     public Object run(Object[] args) {         int n = Integer.parseInt(args[0].toString());         FArray<Long> res = new FArray<Long>();         long a = 0, b = 1;         for(int i = 0;i <= n;i++){          if(i < 2){          res.add((long)i);          } else {          long c = a + b;          res.add(c);          a = b;          b = c;               }         }         return res;     } }

  • yzmJ2SJR9187610 yzmJ2SJR9187610(提问者) 坐等内置lambda函数,哈哈,excel有的,我不允许帆软没有,,,
    2023-03-27 21:15 
  • 2关注人数
  • 287浏览人数
  • 最后回答于:2023-3-27 10:39
    请选择关闭问题的原因
    确定 取消
    返回顶部