/*
运行结果与书上不符以,疑为书籍排版错误。
书上原题:m(i)=4(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 +……+ 1/(2i-1) - 1/(2i+1))
若i = 10,展开应为:m(i)=4(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13 - 1/15 + 1/17 - 1/19 + 1/21)
i m(i)
10 3.232315809405593
20 3.1891847822775956
30 3.17384233719075
40 3.165979272843214
50 3.1611986129870484
60 3.1579849951686647
70 3.1556764623074756
80 3.153937862272616
90 3.1525813328751218
100 3.1514934010709927
*/
import java.util.Scanner;
public class ComputeOrderedSeries {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a digit number: ");
int number = input.nextInt();
displaySumOrderedSeries(number);
}
public static void displaySumOrderedSeries(int n) {
System.out.println("i\tm(i)");
for (int i = 10; i <= n; i += 10)
displaySumBody(i, sumOrderedSeries(i));
}
public static double sumOrderedSeries(int n) {
double m3 = 0, m5 = 0;
for (int i = 3; i <= 2 * n - 1; i += 2) {
m3 += 1.0 / i;
i += 2;
m5 += 1.0 / i;
}
return (1.0 - m3 + m5) * 4.0;
}
public static void displaySumBody(int i, double mi) {
System.out.println(i + "\t" + mi);
}
}
Introduction to Java Programming编程题5.14<计算数列>
最新推荐文章于 2025-05-08 08:05:17 发布
本文深入探讨了程序设计中的关键概念与算法优化实践,包括数据结构、算法原理及应用案例,旨在提升编程效率与解决复杂问题的能力。
1844

被折叠的 条评论
为什么被折叠?



