关于蓝桥杯冰雹数一题的问题

关于蓝桥杯冰雹数一题的问题
题干如下(个人理解这个测试用例答案应该是16)

img

img


我的代码如下:

#include 
#include 
int main(int argc, char *argv[])
{
  long long int n;
  scanf("%lld",&n);
  long long int max=n;
  while (n!=1){
    if (n%2==1){
      n=n*3+1;
    }
    else{
      n=n/2;
    }  
    max=(max>n?max:n);
  }
  printf("%lld",max);
  return 0;
}

不知道为什么7个测试用例只有一个对了,恳请回答

第7行:long long int max=n; max 的初值应该是 1 ,修改为:long long int max= 1;