如题,考拉兹猜想,求n变换到1经过的步骤和全程最大值,编译通过,但n!=1时输出没有结果(不是无限循环)
#include<stdio.h>
void func(int n,int s,int tep,int max);
int main(){
int n;int s=0;int max;int tep=0;
scanf("%d",&n);
switch(n){
case 1: {s=0;max=1;
printf("%d %d",s,max);
break;
}
default: {void func(int n,int s,int tep,int max);
break;
}
}
}
void func(int n,int s,int tep,int max){
do{
tep=n;max=n;
if(n%2 == 1)
{n=3*n+1;}
else if(n%2==0)
{n=n*(1/2);}
s=s+1;
if (n > tep)
{max=n;}
}while(n!=1);
printf("%d %d",s,max);
}