帮我写一个java代码 实现x的n次方
时间: 2024-05-05 16:17:38 浏览: 48
好的,以下是实现x的n次方的java代码:
```
public double power(double x, int n) {
if(n == 0) {
return 1;
} else if(n == 1) {
return x;
} else if(n < 0) {
return 1 / power(x, -n);
} else if(n % 2 == 0) {
double half = power(x, n / 2);
return half * half;
} else {
double half = power(x, (n - 1) / 2);
return x * half * half;
}
}
```
此代码可以支持x的任意次方,包括负数次方。
相关问题
用java如何实现实现x的n次方,x为类型为double,n的类型为int. 给定输入为x n, 输出x的n次方结果。
可以使用Java中的Math库中的pow方法来计算x的n次方,代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double x = scanner.nextDouble();
int n = scanner.nextInt();
double result = Math.pow(x, n);
System.out.println(result);
}
}
```
在上述代码中,我们首先使用Scanner类获取输入的x和n,然后使用Math.pow方法计算x的n次方,并将结果存储在result变量中,最后输出result的值即可。
写出java 从键盘输入x与n,用递归求x的n次方的代码
好的,以下是实现递归求解x的n次方的Java代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入底数x:");
double x = scanner.nextDouble();
System.out.print("请输入指数n:");
int n = scanner.nextInt();
System.out.println("x的n次方为:" + pow(x, n));
}
/**
* 递归实现求x的n次方
*
* @param x 底数
* @param n 指数
* @return x的n次方
*/
public static double pow(double x, int n) {
if (n == 0) {
return 1;
} else if (n == 1) {
return x;
} else if (n < 0) {
return 1 / pow(x, -n);
} else if (n % 2 == 0) {
double half = pow(x, n / 2);
return half * half;
} else {
return x * pow(x, n - 1);
}
}
}
```
希望对您有帮助!
阅读全文