执行指定循环数学运算100次后的结果求解技术问询
求解重复操作后的最终数字
首先咱们不用硬算100次,先拆解操作流程找规律:
- 起始数是
12 - 每一轮(从返回步骤2到完成步骤3)的核心操作是:取当前数的相反数,再加1,每完成一次步骤3就算一次计数。
先算前几次的结果,一眼就能看出规律:
- 第1次执行步骤3后:
-12 + 1 = -11 - 第2次执行步骤3后:
-(-11) + 1 = 11 + 1 = 12 - 第3次执行步骤3后:
-12 + 1 = -11 - 第4次执行步骤3后:
-(-11) + 1 = 12
明显能看到周期为2的循环:奇数次执行步骤3后结果是-11,偶数次执行后会回到初始的12。
题目要求执行步骤3满100次,100是偶数,刚好完成50个完整循环,所以最终得到的数字就是 12。
如果想用数学递推式验证的话,设第k次执行步骤3后的结果为a_k,递推关系是:a_k = -a_{k-1} + 1,初始值a_0 = 12(执行步骤3前的起始数)
解这个递推式也能得到结论:当k为偶数时,a_k = 12;当k为奇数时,a_k = -11。100是偶数,结果自然是12。
内容的提问来源于stack exchange,提问作者ddswsd
相关产品推荐
相关产品推荐

