题解 | #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);
	}
}

全部评论

相关推荐

星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
07-29 14:46
门头沟学院 Java
码农索隆:好了,我说句公道话,咱三都辛苦了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务