利用java解决a的b次幂问题 【问题描述】 从键盘输入两个整数a和b,a与b不为0,编程,求a的b次幂,并输出。 【输入形式】 两个整数a和b,用空格隔开 【输出形式】 a的b次幂 【样例输入】 3 2 【样例输出】 9 【样例说明】 输入3 和2,输出3的2次幂9
时间: 2024-09-21 12:12:01 浏览: 48
在Java中,你可以使用递归或循环来解决这个问题。这里提供两种常见的方法:
1. **循环方法** (using a loop):
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个整数a和b(用空格隔开):");
int a = scanner.nextInt();
int b = scanner.nextInt();
long result = calculatePower(a, b);
System.out.println("a的b次幂为:" + result);
}
// 计算a的b次幂的循环版本
private static long calculatePower(int base, int exponent) {
if (exponent == 0) {
return 1;
} else if (exponent % 2 == 0) {
long temp = calculatePower(base, exponent / 2);
return temp * temp;
} else {
long temp = calculatePower(base, exponent - 1);
return base * temp;
}
}
}
```
2. **递归方法** (using recursion):
```java
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个整数a和b(用空格隔开):");
int a = scanner.nextInt();
int b = scanner.nextInt();
long result = calculatePower(a, b);
System.out.println("a的b次幂为:" + result);
}
// 计算a的b次幂的递归版本
private static long calculatePower(int base, int exponent) {
if (exponent == 0) {
return 1;
} else {
return exponent % 2 == 0 ? calculatePower(base * base, exponent / 2) : base * calculatePower(base, exponent - 1);
}
}
}
```
阅读全文