用java求m的n次方,要求m、n<1000,且用数组的方式来实现
时间: 2023-05-26 21:05:56 浏览: 46
以下是使用Java数组实现求m的n次方的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int[] res = new int[1000];
res[0] = 1;
for (int i = 0; i < n; i++) {
int carry = 0;
for (int j = 0; j < res.length; j++) {
int temp = m * res[j] + carry;
carry = temp / 10;
res[j] = temp % 10;
}
}
int i;
for (i = res.length - 1; i >= 0 && res[i] == 0; i--);
for (; i >= 0; i--) {
System.out.print(res[i]);
}
System.out.println();
}
}
```
上述代码中,我们使用一个长度为1000的数组`res`来存储结果。在循环中,我们将m每次乘以结果数组中的每一位,再将进位carry加到下一位上去,最后把结果数组中各个位置上的数字取余数并更新,同时将carry除以10作为进位传递到下一位。
最后,我们需要遍历结果数组从高位到低位,去除前导零,并把数字逆序输出。