java求前 n 项之和功能关键 算法 多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...,现在要求出该多项式 9 的前 n 项的和。 要求:结果保留两位小数
时间: 2023-10-04 11:07:45 浏览: 171
可以使用一个变量来记录当前项的符号(正/负),然后用一个循环计算前n项的和即可。代码如下:
```java
public static double sum(int n) {
double s = 0;
int sign = 1;
for (int i = 1; i <= n; i++) {
s += sign * 1.0 / i;
sign = -sign;
}
return (double)Math.round(s * 100) / 100; // 保留两位小数
}
```
在主函数中调用该方法即可:
```java
public static void main(String[] args) {
int n = 9;
double sum = sum(n);
System.out.println("前" + n + "项和为:" + sum);
}
```
输出结果为:
```
前9项和为:0.83
```
相关问题
java求前 n 项之和功能关键 算法 多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...,现在要求出该多项式的前 n 项的和。 要求:结果保留两位小数
可以使用一个变量来记录当前项的符号(正数或负数),然后用一个循环来累加每一项的值,最后返回总和即可。具体实现如下:
```java
public static double sum(int n) {
double sum = 0.0;
int sign = 1;
for (int i = 1; i <= n; i++) {
double term = sign * 1.0 / i;
sum += term;
sign = -sign;
}
return Math.round(sum * 100.0) / 100.0; // 保留两位小数
}
```
这个算法的时间复杂度是 O(n),空间复杂度是 O(1)。
阅读全文