题库首页 › GESP等级认证(Python) › 题目 25926

对任意正整数 a 、 b ,以下两种写法的 gcd 函数返回值完全相同。 def gcd1(a, b): return gcd1(b, a % b) if b else a def gcd2(a, b): while b: t = b b = a % b a = t return a

A:正确
B:错误

正确答案:正确

答案解析

分析两个函数的执行逻辑:gcd1采用递归方式,每次调用将b作为新a,a % b作为新b,直到b为0时返回a;gcd2采用循环方式,通过临时变量t保存b值,在b不为0时持续更新a和b为b和a % b,直到b为0后返回a。两种实现均基于欧几里得算法核心原理,即gcd(a, b) = gcd(b, a % b),且终止条件一致(b为0时返回a)。需验证递归调用路径与循环迭代过程中参数变化是否等价,特别关注每轮状态转移中a和b的值是否对应相同,以及边界情况如初始b为0时的处理是否一致。

试卷来源:202606 CCF-GESP编程能力等级认证Python五级真题

本卷相关题目

在线做题 同科目题库