有人可以帮我解释一下这个伪代码吗?

时间:2020-01-31 12:06:48

标签: algorithm time-complexity big-o

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

我不明白todo的含义以及这段代码的确切作用。问题是,n = 4时多久打印一次“ hello world”。答案是十吗?我该如何解决?

4 个答案:

答案 0 :(得分:3)

让我们分解为最内层的循环class-validators

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 你好世界

对于n = 10

1 + 2 + 3 + 4 = 10

对于n = k

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

答案 1 :(得分:1)

外循环:

for i = 1 to n do 

(最初i将被分配给1)

此循环表示必须做n次(to的意思)。必须做的事情写在您的内部循环中(做的意思)。

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

对于i的每个值,内部循环将执行i次(这是因为每次i更改时,您的内部循环将被执行i次{{1 }}。在这里,它将每次打印(for j = 1 to i do)

希望它对您有帮助

答案 2 :(得分:0)

这意味着在外循环的第一次迭代中,内循环执行一次,然后在第二次迭代中执行两次,依此类推。因此1 + 2 + 3 + 4 = 10

答案 3 :(得分:0)

这就是所谓的嵌套循环:

  • 用i = 1分配并循环(在每次迭代中将1加到i,使其变为2,3,4,.. n),在每次迭代中执行以下步骤:
    • 分配j = 1并循环(在每次迭代中,将j加1,使其变为2,3,4,.. i,直到等于i),并在每次迭代中执行以下步骤:
    • =>打印你好