✏️ 纠错
第 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猜想”,目前未发现反例。