# 栅栏错误

> 栅栏错误（英语：Fencepost Error），也称篱笆错误，指计数时把“点”的数量与“段”的数量相混淆而产生的差错：N 个点之间只有 N−1 段，反之 N 段需要 N+1 个点。例如每 10 米立一根柱子围出 100 米栅栏，需要 11 根柱子而非 10 根。它是差一错误的典型来源，提醒人们在项目规划与预算中警惕边界处的加减一。

- ID: m04134
- 分类: structure
- 领域: 逻辑学

## 定义

如果你要建一个100米的栅栏，每10米立一根柱子，你需要11根柱子，而不是10根。这就是"差一错误"（Off-by-one Error）。脚手架作用：边界计算。在做项目规划、预算或排期时，永远警惕那个"+1"或"-1"的边界。开始和结束的节点往往是被遗漏的成本中心。

## 机制

在把区间切成若干段时，常因'段数'与'间隔点(栅栏)数'差一而算错。n 段栅栏有 n+1 根桩，n 个间隔覆盖 n+1 个端点。

## 练习

明确统计的是'段'还是'桩'；画图标出端点再计数；用半开区间[a,b)统一避免差一。

## 脚手架用法

边界计算。在做项目规划、预算或排期时，永远警惕那个"+1"或"-1"的边界。开始和结束的节点往往是被遗漏的成本中心。

[阅读网页](https://thinkingmodels.site/entries/detail/m04134)
