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

询问递归函数fun(a,b)的返回结果及实现功能

这个递归函数的作用:计算两个整数的最大公约数(GCD)

这个名为fun(a,b)的递归函数实现了欧几里得算法,核心作用是返回输入的两个整数a和b的最大公约数——也就是能同时整除这两个数的最大正整数。

函数逻辑拆解:

  • 当参数b等于0时,直接返回a:这是算法的终止条件,此时的a就是之前所有迭代步骤中两个数的最大公约数。
  • 当b不为0时,递归调用fun(b, a%b):将b作为新的第一个参数,a除以b的余数作为新的第二个参数,通过不断缩小计算规模,直到触发终止条件。

结合你的测试例子验证:

当传入a=15、b=6时:

  1. 首次调用fun(15,6),b≠0,计算15%6=3,递归调用fun(6,3)
  2. 第二次调用fun(6,3),b≠0,计算6%3=0,递归调用fun(3,0)
  3. 第三次调用fun(3,0),触发b==0的终止条件,返回3,和你测试的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:16:14