作業:編寫一個方法來計算以下系列: m(i)= 1-(1/2)+(1/3) - (1/4)+(1/5) - 。 .. +((-1)^(I + 1))/ I計算一系列
寫,顯示以下代碼的測試程序:
i: m(i):
5 0,78333
10 0,64563
.. ..
45 0,70413
50 0,68324
我已經嘗試了幾個小時現在,和我無法想出如何解決這個問題。也許我只是傻哈哈:)
這裏是我到目前爲止的代碼:
package computingaseries;
public class ComputingASeries {
public static void main(String[] args) {
System.out.println("i\t\tm(i)");
for (int i = 5; i <= 50; i += 5) {
System.out.println(i + "\t\t" + m(i));
}
}
更新:
public static double m(int n) {
double tal = 0;
double x = 0;
for (int i = 1; i <= n; i += 1) {
if (i == 1) {
x = 1 - ((Math.pow(-1, (i + 1)))/i);
} else {
x = ((Math.pow(-1, (i + 1)))/i);
}
}
tal += x;
return tal;
}
}
我的錯誤輸出:
i m(i)
5 0.2
10 -0.1
15 0.06666666666666667
20 -0.05
25 0.04
30 -0.03333333333333333
35 0.02857142857142857
40 -0.025
45 0.022222222222222223
50 -0.02
提示這裏運行,^想您所想,不是權力。 – 2012-01-05 16:47:38
此外,整數除法和浮點除法之間的區別是基本的。 – 2012-01-05 16:51:40
Math.pow現在工作,謝謝:)但得到錯誤的輸出:/ – Daniel 2012-01-05 17:13:41