用Java编写程序计算n = 1、2、4、8、16、32时,以下函数的值: 1、logn、n、nlogn、n2、n3、2n、n!
时间: 2024-09-19 09:02:32 浏览: 26
在Java中,你可以创建一个类,包含一个方法来计算给定数值`n`对应的不同操作的结果。下面是一个简单的示例,展示了如何计算这些表达式的值:
```java
import java.util.ArrayList;
import java.util.List;
public class FunctionValues {
public static void main(String[] args) {
int n = 32; // 可以替换为其他值,如1, 2, 4, 8, 16等
List<Double> results = calculateFunctionValues(n);
for (double result : results) {
System.out.printf("当n=%d时, log(n)=%f, n=%d, n*log(n)=%f, n^2=%f, n^3=%f, 2^n=%f, n!=%f\n",
n, Math.log(n), n, n * Math.log(n), n * n, n * n * n, Math.pow(2, n), factorial(n));
}
}
// 计算对数(logn)
public static double logarithm(int n) {
return Math.log10(n);
}
// 计算基本乘法(n)
public static double multiplication(int n) {
return n;
}
// n*logn
public static double nLogN(int n) {
return n * logarithm(n);
}
// n^2
public static double square(int n) {
return n * n;
}
// n^3
public static double cube(int n) {
return n * n * n;
}
// 2^n
public static double powerOfTwo(int n) {
return Math.pow(2, n);
}
// 计算阶乘(n!)
private static long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// 计算并返回所有结果列表
public static List<Double> calculateFunctionValues(int n) {
List<Double> values = new ArrayList<>();
values.add(Math.log10(n)); // logn
values.add(n); // n
values.add(n * Math.log10(n)); // nlogn
values.add(n * n); // n^2
values.add(n * n * n); // n^3
values.add(Math.pow(2, n)); // 2^n
values.add(factorial(n)); // n!
return values;
}
}
```
当你运行这个程序,它会计算并打印出指定 `n` 值下的各项函数值。如果你想改变 `n` 的值,只需修改`main`方法中的`n`变量即可。
阅读全文