Может кто-нибудь объяснить этот псевдокод для меня? - PullRequest
0 голосов
/ 31 января 2020
for i = 1 to n do
    for j = 1 to i do
       print “hello world”
    end for
end for

Я не понимаю, что означают to и do и что именно делает этот код. Вопрос заключался в том, как часто печатается «привет мир», когда n = 4. Ответ 10? Как мне это решить?

Ответы [ 4 ]

3 голосов
/ 31 января 2020

Давайте разберемся для самого внутреннего l oop j = 1 to i

i = 1
you will see only one hello world

i =2
2 hello world

i = 3
3 hello world

i =4
4 hello world

Итого 1 + 2 + 3 + 4 = 10 привет миров

Для n = 10

1 + 2 + 3 .... = 10 = 55 hello worlds

для n = k

Sum of Arithmetic Progression:  k * (k + 1 ) /2 hello worlds  printed
1 голос
/ 31 января 2020

Наружный L oop:

for i = 1 to n do 

(первоначально i будет присвоено 1)

этот l oop говорит, что что-то должно быть сделано n раз (значение для). То, что должно быть сделано, записано в вашем внутреннем l oop (что означает do).

for j = 1 to i do
       print “hello world”

Для каждого значения i внутренний l oop будет выполнен i раз (это потому что каждый раз, когда меняется i, ваш внутренний l oop будет выполняться i раз (for j = 1 to i do)). Здесь он будет печатать hello world каждый раз.

Надеюсь, это поможет вам

0 голосов
/ 31 января 2020

Это то, что называется вложенными циклами:

  • Назначить с i = 1 и l oop (в каждой итерации добавьте 1 к i, чтобы оно стало 2,3,4, .. n ) и в каждой итерации выполните следующие действия:
    • Назначьте j = 1 и l oop (в каждой итерации добавьте 1 к j, чтобы оно стало 2,3,4, .. i, пока оно не станет равным i ) и в каждой итерации выполните следующие действия:
    • => print hello
0 голосов
/ 31 января 2020

Это означает, что на первой итерации внешнего l oop внутренний l oop выполняется один раз, затем на второй итерации два раза и т. Д. Так 1 + 2 + 3 + 4 = 10

...