2017-01-07 13 views
0

合計1 +(1 + 3)/ 2 +(1 + 3 + 5)/ 4 + ... +(2.n-1)/ 2 ^(n-1) )。 (与えられた整数N)がN番目の加数に対する和の値を見つけて表示するプログラムをコンパイルする必要があります。いくつかの合計の計算

私はいくつかのコードを書いていますが、私は数式を理解できません...ヘルプ?ここで

は私のコードです:

Scanner input = new Scanner(System.in); 

System.out.print("n = "); 
int n = input.nextInt(); 
double sum = 0; 

for(int i = 1; i <= n; i++) { 
    sum = sum + (2 * i - 1)/(Math.pow(2, i - 1)); 
} 

System.out.println(sum); 
+2

'2 * nのだろう - 1 '私には意味がありません...それはその前に、用語と一致していないが、それをしませんか? – torkleyy

+2

「1 + 3 = 4」「1 + 3 + 5 = 9」「1 + 3 + 5 + 7 = 16」「1 + 3 + 5 + 7 + 9 = 25」...「4」「9」 '16' '25' ...パターンが見えますか? – Pshemo

+1

Pshemoはここで良いテクニックを示しています。手作業で問題を完全に解決すると、基本的な説明や数式から明らかではないパターンが明らかになることがよくあります。 – markspace

答えて

1

1 + 3 + 5 + ... + N =(N-1)^ 2は、あなたの式は

enter image description hereなることPshemoの予告によると、

そして、あなたのコードが

Scanner input = new Scanner(System.in); 

System.out.print("n = "); 
int n = input.nextInt(); 
double sum = 0; 

for(int i = 1; i <= n; i++) { 
    sum += 2 * Math.pow(i, 2)/Math.pow(2, i); 
} 

System.out.println(sum); 
+0

ああそうです:)式ではnの代わりにiでなければなりません。あなたが正しいです!ありがとう! –

関連する問題