循环结构的分析


这里写图片描述

如果抛开这道题目的迷惑性(它问的是几条 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, 0
for 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 hello
2 k hello
3 k hello
4 k hello
5 k hello

6 j hello
7 k hello
8 k hello
9 k hello
10 j hello
11 k hello
12 k hello
13 k hello

14 j hello
15 k hello
16 k hello
17 j hello
18 k hello
19 k hello
20 j hello
21 k hello
22 k hello

23 j hello
24 k hello
25 j hello
26 k hello
27 j hello
28 k hello
29 j hello
30 k hello

31 j hello
32 j hello
33 j hello
34 j hello
35 j hello

35
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值