区间迭代的问题

今天在写一个任务的时候,数据比较多,就想到分批次处理,算出任务的最大值和最小值,然后每次跑一定量的数据。但是中间出了一个bug。

后来发现是开闭区间的问题。这里记录一下。访问查阅

大家都知道区间是开闭的[10,20] 包括10和20 (10,20) 不包括10和20 

下面的这个代码,在循环遍历的时候,就是有问题的,会多打印区间的临界值

$min = 102;
$max = 209;
$step = 10;
for($i = $min; $i <=$max; $i += $step) {
    printf("%d----%d
",$i,$i+$step);
}

  修改如下,每次在临界值+1

$min = 102;
$max = 209;
$step = 10;
for($i = $min; $i <=$max; $i += $step+1) {
    printf("%d----%d
",$i,$i+$step);
}

  

原文地址:https://www.cnblogs.com/tl542475736/p/9530242.html