✏️ 纠错
第 200 题 / 共 251 题
第9题 函数puzzle定义如下,则调用puzzle(7)程序会无限递归。
int puzzle(int n) {
    if (n == 1) return 1;
    if (n % 2 == 0) return puzzle(n / 2);
    return puzzle(3 * n + 1);
}
📝 题目解析

答案:×

知识点:递归函数的执行路径及终止条件分析

解析:调用puzzle(7)的执行路径为:7 → 22 → 11 → 34 → 17 → 52 → 26 → 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1,最终返回1,不会无限递归。该问题是“3n+1猜想”,目前未发现反例。