差一错误的简单解决

在编程的过程中有一种经常会出现的错误叫做“差一错误”,指的是在循环的过程中多循环了一次或者少循环了一次。

这种错误经常会让我们犯糊涂,有的人会通过测试来调整这种错误,但是不是每次都有测试的条件的,今天就介绍一种比较可行的判断循环到底循环多少次的方法,用的就是中学所学的数学归纳法。

判断下面这个循环体到底执行了多少次?(假定n<=m)

for (int i = n; i < m; i++) {...}

首先来看初始情况当m == n的时候循环体很显然执行了0次,所以我们可以预测循环体执行了m-n次

假设循环体执行了m-n次
当m==n的时候假设成立

我们需要证明当m' = m+1时假设同样成立,很显然当m' = m+1时循环比m时多执行了一次,即循环执行了(m+1)-n次,证明完毕。


其它的比如do while和while也可以用相同的方法证明。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,793评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 人生啊!是这样不可预测。没有永恒的痛苦,没有永恒的幸福。生活像流水一般,有时是那么平展,有时又那么曲折。
    龙之传人_b3ca阅读 221评论 0 0
  • 荐语: 相信各位都经历过这样的时刻: 小时候,你最怕作文课,咬着笔挠破了头也不知道如何才能把一件普通的事写得像你同...
    雷雷有话要嘚吧阅读 252评论 0 2