треугольные числа Java - PullRequest
       26

треугольные числа Java

0 голосов
/ 30 октября 2018

проблема в том, что есть два типа кодов для одного и того же результата (треугольное число)

1

           for (int i = 1; i <= 10; i++) {
            int triangular = 0;

            for (int j = 1; j <= i; j++) {
                triangular = triangular + j;
            }
            System.out.println(i + " = " + triangular);

2

int x =1; 
int triangular = 1;

while(x<=10){


System.out.println(x+ "=" +triangular);
 x++;
triangular= triangular+x;

}

почему для (1) "int triangualr" равно 0, а для (2) его 1 ??? не понимаю

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

В методе 1 int треугольный инициализируется каждый раз внутри цикла for. Вложенный в цикл вычисляет значение для треугольника, а затем вы печатаете значение

       for (int i = 1; i <= 10; i++) {
            int triangular = 0;

            for (int j = 1; j <= i; j++) {
                triangular = triangular + j;
            }
            System.out.println(i + " = " + triangular);
       }

Но в методе 2 значение для x = 1 печатается в первой строке цикла while, а затем значение x увеличивается

int x =1; 
int triangular = 1;
while(x<=10){
    System.out.println(x+ "=" +triangular);
    x++;
    triangular= triangular+x;
}

Таким образом, в первом методе значение для треугольника вычисляется, начиная с 1, а во втором методе значение для треугольного рассчитывается не для первой итерации

0 голосов
/ 30 октября 2018

Потому что во втором коде «треугольный» первый печатается со значением = 1 в то время как в первом коде сначала увеличивается «треугольник» (идет от 0 до 1), а затем печатается со значением = 1.

Итак, в обоих случаях первое, что вы видите, треугольное = 1.

...