# VectorPaint 三十以内筛法：保留质数本人再逐轮划去倍数

语言：zh-CN
原文：[VectorPaint 三十以内筛法：保留质数本人再逐轮划去倍数](<https://allluckly.cn/guides/vectorpaint-eratosthenes-sieve-two-to-thirty-grid/>)
中文：[中文 HTML](<https://allluckly.cn/guides/vectorpaint-eratosthenes-sieve-two-to-thirty-grid/>)
English: [English HTML](<https://allluckly.cn/en/guides/vectorpaint-eratosthenes-sieve-two-to-thirty-grid/>)
发布于: 2026-11-14T00:00:00+08:00
内容更新于: 2026-11-14T00:00:00+08:00
署名：Bison

用二至三十的固定格表追二三五三轮，区分首次划去、重复遇见与最后十个质数。

本课用一张静态数格图演示埃拉托色尼筛法。重点是当前质数不能被当成自己的待删倍数，以及已经划掉的格可再次遇见却不重复计数；手工算法记录与VectorPaint的图形排版分开，不宣称应用带质数计算器。

## 建立二至三十的不重复数格

开一千六百乘一千二百横画布，排六列五行编号格，第一行二三四五六七，下一行八到十三，依次到最后一行二十六至三十，末格留空并写不在范围内。纸面先核从二到三十共有二十九个整数，不能因为版面三十格就顺手加上一或三十一。把数值文字、划去标记、保留圈与轮次说明分层，格位固定后不再重排，便于每轮对照同一号码。网格只组织阅读，算法判断由整数条件完成，不由颜色或格子位置决定。

## 先读筛法并声明一不在质数内

参照[NIST埃氏筛条目](<https://xlinux.nist.gov/dads/HTML/sieve.html>)，从二开始找未标整数，再处理其倍数。质数是大于一且正因子只有一与自身的整数，因此一不在本次数格，也不是筛后漏标的质数。先在旁注写范围含三十、起点含二，结果必须保留二这个最小质数。为避免语言歧义，把“划去倍数”具体写成当前质数之后的较大倍数，或者从平方起筛；不能字面上从一倍自身开始把刚找到的质数也划掉。

## 第一轮保二划十四个偶合数

把二圈成保留，再逐个划四、六、八、十、十二、十四、十六、十八、二十、二十二、二十四、二十六、二十八、三十，共十四格。每次从纸面清单回到格号，不凭“隔一格涂一个”的视觉节奏，因为跨行后列位关系会变化。四是二的平方，可在旁边标第一轮起点；二乘一对应二本人，不能删。先做一份仅第一轮的副本，后续叠加标记时仍能追回这十四次首次划去，而不是只能看到最后一堆叉号。

## 第二轮保三并分清新旧划去

下一个未标整数是三，圈出后从九起按三增加，遇九、十二、十五、十八、二十一、二十四、二十七、三十。十二、十八、二十四、三十已被处理质数二的第一轮划去；本轮首次新增只有九、十五、二十一、二十七四格。六也是三的较大倍数，但从三平方起筛时已由二处理，不会漏掉。用第二种线型表示本轮经过，再用小点标首次划去，避免把八次访问都当成八个新增合数。

## 第三轮保五只新增二十五

四已经划去，不能再把它当新的质数开启主轮；下一个未标的是五。保五，从五平方二十五起，在三十以内访问二十五和三十，后者已划过，本轮只新增二十五。五的较小倍数十、十五、二十也都早已被二或三处理。把二十五的因子五乘五写在旁边，说明它不该因为不是偶数且不被三整除就留在结果里。再检查五这个格没有误跟二十五一起被框成删除区，保留与划去符号需能明确分辨。

## 以平方上界解释何时停止

三十平方根介于五和六之间，所以处理完五后，下一未标七的平方四十九已超过上界，可以停止主筛。理由是若三十以内合数的两个因子都大于平方根三十，其乘积会大于三十，故至少一个较小质因子已经被二三五覆盖。这里不是说七不是质数，而是七不必再启动划倍数的轮次。停止条件写在算法栏，不能把“没地方再画”或“剩下看起来都是质数”当依据，也不要将平方根误写成三十除二。

## 结果按十个保留与十九个删除核

最后保留二、三、五、七、十一、十三、十七、十九、二十三、二十九，共十个。首次划去十四加四加一等于十九，十加十九正好是原二十九格，可与范围数量交叉核对。若得到九个，优先查二或五是否被误删；若得到十一个，查二十五是否漏掉。结果排序只在旁边清单做，原图格位不移动，否则轮次痕迹无法对回。不能把被划数字称为全部非质数，因为范围外的一以及零、负数没有被本图列入处理。

## 重开从三轮记录复算验收

保存退出再重开，先隐藏最终答案，只开第一轮核十四格，再叠第二轮核四个新点，最后叠处理质数五的第三轮标记核二十五，核全部轮数为三。重新抄出十个保留值，并核停止于七平方大于三十的条件。打开输出查看数值和叉号没有互相覆盖、末空格仍标范围外；未检格式继续留空。完成是别人能逐轮复现筛选与计数，不是应用自动给出质数表或进行无限范围验证。

## 相关教程与资料

[VectorPaint 七十二因数树：保留重复质因数与叶乘积](<https://allluckly.cn/guides/vectorpaint-seventy-two-prime-factor-tree/>)、[VectorPaint 四阶拉丁方：分别检查每行每列的一到四](<https://allluckly.cn/guides/vectorpaint-four-order-latin-square/>)。

资料核对：2026 年 11 月 14 日，VectorPaint 公开版本 1.0.8，最低要求 iOS / iPadOS 17.0。范围参照[官方 App Store](<https://apps.apple.com/cn/app/id1587272880>)与[Apple 公开查询](<https://itunes.apple.com/lookup?id=1587272880&country=cn&entity=software&timestamp=20261114>)。手工练习使用安装版本实际可见入口；外部演算、文字记录与示意不代表内置自动分析。本文没有逐项真机、私人文件或全部导出环境实测声明。

