第十一届蓝桥杯——REPEAT程序(傻瓜式解法)

博主分享了在蓝桥杯比赛中,面对千行代码难题的投机解法。通过巧妙利用Python的语法特性,将题目给出的代码转换为Python代码并运行,最终成功解答了一道原本难以解析的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

突然想起来貌似有好几个月没发过博客了,最近参加了蓝桥杯,分享一下关于这题我的投机解法
此解法适用于C/C++与Python都有了解的朋友。如果看完本篇还不理解,请直接砍我吧。
最后提醒一遍,答案不是403!答案不是403!答案不是403!,403只是代码片段的结果,并不是整个代码程序!!!

问题描述

附件 prog.txt 点我下载 中是一个用某种语言写的程序。
其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达,
从次行开始连续的缩进比该行多的(前面的空白更长的)为循环包含的内容。
例如如下片段:

REPEAT 2:
	A = A + 4
	REPEAT 5:
		REPEAT 6:
			A = A + 5
		A = A + 7
	A = A + 8
A = A + 9

该片段中从 A = A + 4 所在的行到 A = A + 8 所在的行都在第一行的循环两次中。
REPEAT 6: 所在的行到 A = A + 7 所在的行都在 REPEAT 5: 循环中。
A = A + 5 实际总共的循环次数是 2 × 5 × 6 = 60 次。
请问该程序执行完毕之后,A 的值是多少?

答案提交
这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

我的特殊解法

当时看到这题突然就蒙了,道行不深,1000行代码叫我怎么看。好在我机智了一回,因为这个是填空题,不要求写出具体的C/C++代码,所以我们可以另辟蹊径。

相信大家已经看到我把缩进加粗了,由于比赛的机器中有Python环境,于是我立马就开窍了,既然是
缩进的语法,那么就可以尝试把这个文件的代码修改成Python的语法。之后再往代码末尾加一句print(A)
接着用IDEL跑一遍,最后自信把输出结果填上去,ok,进入下一道题。
下面是具体操作,

  1. 打开prog.txt
  2. ctrl+H打开文本替换(相信会python的朋友到这一步应该恍然大悟了)
  3. “REPEAT ”引号括起的内容全部替换为for _ in range(0,
  4. :全部替换为):
  5. 在代码末尾加上一行print(A)
  6. 用IDEL运行一遍
  7. 得出结果241830

关键时候还是python拉了我一把。

以上

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值