题解 | #xxx定律# 递归解法
xxx定律
https://www.nowcoder.com/practice/75c189249d6145cfa33cd53edae6afc8?tpId=63&tqId=29579&tPage=1&ru=/kaoyan/retest/9001&qru=/ta/zju-kaoyan/question-ranking
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> using namespace std; int func(int num, int *times) { int n = num; int ans = *times; if (n == 1) { return ans; } else if (n % 2 == 0) { n /= 2; ans++; func(n, &ans); } else { n = 3 * n + 1; n /= 2; ans++; func(n, &ans); } *times = ans; return ans; } int main() { int n; while (scanf("%d",&n) != EOF) { int ans = 0; int* p1 = &ans; ans = (func(n,p1)); printf("%d",ans); } }