循环结构的分析

来源:互联网 发布:行业大数据 编辑:程序博客网 时间:2024/05/16 15:50


这里写图片描述

如果抛开这道题目的迷惑性(它问的是几条 print 语句,而不是打印输出几条hello),问该程序打印输出多少hello呢?

尤其注意第三个for循环,它与第二个for循环是相辅相成的,两个for循环(i,j)加在一起执行的次数== j执行的次数+j执行的次数 * k执行的次数
所以本题:

1+1×(n1)+2+2×(n2)+3+3×(n3)+(n1)+(n1)×1+n

n=5 时,计算得35;

用python仿真如下:

n, c = 5, 0for i in range(1, n+1):    for j in range(1, i+1):        c += 1        print(c, 'j hello')        for k in range(i+1, n+1):            c += 1            print(c, 'k hello')    print()print(cnt)

运行结果如下:

1 j hello2 k hello3 k hello4 k hello5 k hello6 j hello7 k hello8 k hello9 k hello10 j hello11 k hello12 k hello13 k hello14 j hello15 k hello16 k hello17 j hello18 k hello19 k hello20 j hello21 k hello22 k hello23 j hello24 k hello25 j hello26 k hello27 j hello28 k hello29 j hello30 k hello31 j hello32 j hello33 j hello34 j hello35 j hello35
0 0