通过迭代来计算,若n为偶数,则,如果n是奇数,则
package programme;
import java.util.Scanner;
public class PowerDemo {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
out(s.nextLine());
}
// 求最大公约数
public static long pow(long x, int n) {
if (n == 0) {
return 1;
} else if (isEven(n)) {
return pow(x * x, n / 2);
// return pow(x,n/2)*pow(x,n/2) 会影响程序效率
} else {
return pow( x, n-1) * x;
}
}
// 判断奇偶
public static boolean isEven(int n) {
if (n % 2 == 0) {
return true;
} else {
return false;
}
}
// 输出
public static void out(String str) {
String[] arr = str.split(" ");
long x = Integer.valueOf(arr[0]).longValue();
int n = Integer.parseInt(arr[1]);
System.out.println(pow(x, n));
}
}

7949

被折叠的 条评论
为什么被折叠?



