题目:
题目内容:
奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。 如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。(步骤中最大数是52)
题目输入正整数n,求这个n归一过程中的最大值
输入格式:
一个正整数
输出格式:
一个正整数
输入样例:
11
输出样例:
52
时间限制:500ms内存限制:32000kb
代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int count = 0 ;
int num , i , j;
int max = 0, min = 1, temp ;
int buffer[1000] = {0} , value = 0;
scanf("%d", &num);
while(1)
{ //if-else是奇偶归一的核心算法
if(num % 2 == 1){
num*=3 ;
num+=1 ;
}
else
{
num >>= 1 ;
}