給定圖案...(1/2)^ 2 +(2/3)^ 2 +(3/4)^ 2 + ...循環對於該特定求和
輸入爲n;這成爲這些分數總和中使用的最高分母。
當用戶輸入n = ;總和就是(1/)^ 2。
當用戶輸入n = ;總和是(1/2)^ 2 +(2/)^ 2
我相信我已經解決了這個問題(我們假設用戶輸入一個大於或等於2的整數)...
int n;
double sum = 0, counter = 2;
n = console.nextInt();
while(counter <= n) {
sum = sum + Math.pow(--counter/++counter, 2);
counter++;
}
System.out.println("Sum is " + sum);
是否有任何「明顯」的方式來簡化我對這個問題的解決方案(同時保持一個while循環)?這是我寫過的第一個循環之一。我不確定是否可以使用較少的變量來解決這個問題。
'--counter/++ counter'不起作用。除非增量 – dehasi
'--counter/++ counter'是反直覺的。爲什麼不簡單寫'counter /(counter + 1)'? – Eran
對於n = 2;計數器/(計數器+ 1)爲(2/3)^ 2。對於n = 2;第一個總和應該是(1/2)^ 2;不(2/3)^ 2。 –