java 递归函数写的不对,请教了
来源:百度知道 编辑:UC知道 时间:2024/06/06 02:37:42
package org.beenylee.demo;
public class Demo1 {
static int result = 0;
public static int getDegree(int n) {
if (n == 1) {
System.out.print(result);
} else {
if (n % 2 == 0) {
n = n % 2;
result = result + 1;
getDegree(n);
} else {
n = n - 1;
result = result + 1;
getDegree(n);
}
}
return result;
}
public static void main(String args[]) {
getDegree(7);
}
}
题目是:一个正整数N,偶数就除以2,奇数就减去1变成偶数再除以2,问需要通过几次运算才能把N变成1.我感觉我写的没有错误啊,请教各位了。
public class Demo1 {
static int result = 0;
public static int getDegree(int n) {
if (n == 1) {
System.out.print(result);
} else {
if (n % 2 == 0) {
n = n % 2;
result = result + 1;
getDegree(n);
} else {
n = n - 1;
result = result + 1;
getDegree(n);
}
}
return result;
}
public static void main(String args[]) {
getDegree(7);
}
}
题目是:一个正整数N,偶数就除以2,奇数就减去1变成偶数再除以2,问需要通过几次运算才能把N变成1.我感觉我写的没有错误啊,请教各位了。
public class DiGui {
static int result = 0;
public static int getDegree(int n) {
if (n == 1) {
System.out.print(result);
} else {
if (n / 2 == 0) {
n = n / 2;
result = result + 1;
getDegree(n);
} else {
n = n + 1;
n = n / 2;
result = result + 1;
getDegree(n);
}
}
return result;
}
public static void main(String args[]) {
getDegree(5);
}
}