这是一道面试题目,求解(这段代码如何改错)
这是一道面试题目,求解.
static void g(int i)
if(i==1)
{
return;
}
if(i%2==0);
{
return;
}
else{
g(3*i);
return;
}
以上代码有错误,请改正并且输出如下结果:3 10 5 16 8 4 2
------解决方案-------------------- public static void main(String arg[]) {
g(3);
}
static void g(int i) {
if(i==1) return;
if(i%2==0) {
System.out.print(i+ " ");
g(i/2);
return;
}
else {
System.out.print(i+ " ");
g(3*i+1);
}
}