You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Kdb+斐波那契函数中的固定阈值替换为外部参数?

改造Kdb+斐波那契函数实现阈值参数化

你只需要将原函数修改为接受两个参数(初始序列和阈值)的形式,在迭代的终止条件中引用外部传入的阈值参数即可:

q)fib:{[init;limit] {x,sum -2#x}/[{last[x] < limit};init]}

测试调用:

q)fib[1 1;100]
1 1 2 3 5 8 13 21 34 55 89 144

说明

  • 原函数是单参数(仅初始序列),现在扩展为双参数init(初始序列)和limit(阈值)
  • 将原硬编码的100替换为参数limit,让终止条件变为动态可配置的
  • 迭代逻辑{x,sum -2#x}保持不变,依然负责生成下一个斐波那契数并追加到序列中

你也可以测试不同阈值的情况,比如:

q)fib[1 1;50]
1 1 2 3 5 8 13 21 34 55

内容的提问来源于stack exchange,提问作者Utsav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:12:04