2016-01-18 32 views
-3

我知道如何显示奇数,但无法弄清楚如何显示奇数的总和以便得到1 4 9 16 25 36 49 64 81 100输出 的想法是使用Java:为了得到1 4 9 16作为输出,添加奇数的最佳方法是什么

  • 1 = 1
  • 1 + 3 = 4
  • 4 + 5 = 9

这个想法是为了避免乘法。 (我知道这将是最简单的解决方案)

我至今是:

public static void main(String[] args) { 

    for(int i=1; i <= 100; i++){ 

      if(i % 2 != 0){ 
        System.out.print(i + " "); 
      } 
    } 

}

回答

2

你有循环。所有你缺少的是加法:

int num = 0; 
for(int i=1; i <= 100; i++){ 
    if(i % 2 != 0) { 
     num = num + i; 
     System.out.print(num + " "); 
    } 
} 
+0

谢谢。有用 ! – Julia1677

+0

@JuliaBrosseau不客气! – Eran

0

由于他们是正方形:两个方块之间的差异始终是它的基础两次减1:

int num = 0; 
for(int i=1; i <= 100; i++){ 
     num += i+i-1; 
     System.out.print(i + " "); 
} 
1

如果目的是为了避免乘法,然后取而代之的是分割(或者说余数)似乎毫无意义。

你想要的是使用+=操作:

int num = 0; 
for (int i = 1; i <= 100; i += 2) { 
    num += i; 
    System.out.print(num + " "); 
} 

输出

1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304 2401 2500 

注意:这仅仅是一个优化answer by Eran的版本。

相关问题