2016-01-18 13 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.