2016-03-24 2 views
-2

Я получил в университете следующий код, чтобы вкратце объяснить, что он делает и каково значение x в конце прогона как функция n, надеюсь, что кто-то может мне помочь.Что делает следующий код?

x = 0; 
for(int i = n; i > 1; i--) { 
    for(int j = 1; j < i; j--) { 
     x +=5; 
    } 
} 

Благодаря

+0

для (Int J = 1, J <я; i--) существует ошибка прямо в секунду для цикла. Так что только бог знает, что будет делать код. – user2260040

+0

Вам дали задание, потому что инструктор хочет видеть вашу работу (а не нашу). Вы должны сделать это сами. Если вы не можете понять это, попросите вашего инструктора о помощи; либо они еще не сделали свою работу по предоставлению вам необходимых знаний, или вы были невнимательны в классе. Удачи. –

+0

@ user2260040 ohh это была моя ошибка, отредактированный –

ответ

1

(я предполагаю, что вы имели в виду, чтобы написать «J ++» вместо «j--», а не в конечном итоге в бесконечный цикл?)

Если это так, просто запустить его вручную.

Внешний цикл выполняет итерацию с i по целым числам, начиная с n до 2 (включительно).

На каждой итерации этого цикла внутренний цикл повторяется с j по целым числам от 1 до i-1 (включительно).

, таким образом, х увеличивается на 5 для каждого из:

J = 1, 2, ... п - 1

Затем, каждый из:

J = 1, 2, ... п - 2

затем и т.д.,

...

до тех пор,

J = 1

, если я не ошибаюсь, это п * (п - 1)/2 итераций в общей

(ср арифметическая прогрессия)

, чтобы дать в конечном итоге,

х == 5 * N * (п - 1)/2

Например, при п = 3:

х == 15

«НТН

0
for(int i = n; i > 1; i--) { 
for(int j = 1; j < i; j--) { 

, поскольку я> 1 и у = 1; j < i; j--. j всегда будет меньше, чем i, поэтому он станет бесконечным циклом.

Смежные вопросы