害死人不偿命的 (3n+1) 猜想

题源

PTA 乙级

题解

#include<stdio.h>
//奇数还是偶数 
int judge(int x){
	x = x % 2;
	//奇数返回1
	//偶数返回0 
	return x;
}
int main(void){
	int num;
	scanf("%d",&num);
	int i = 0;
	//直到 n = 1 
	for(i = 0;num != 1;i++){
		//奇数 (n*3+1)/2 
		if(judge(num))num = (num*3+1)/2;
		//偶数 n/2 
		else num = num/2;
	}
	printf("%d",i);
	return 0;
} 
posted @ 2021-04-23 13:34  summeriver13  阅读(28)  评论(0)    收藏  举报