100 以内的素数输出算法 - N-S 流程图详解
很好!以下是一个输出 100 以内素数的算法,并使用 N-S(Nassi-Shneiderman)流程图表示该算法的过程。
开始
初始化数字 n 为 2
循环开始:
检查 n 是否大于 100
如果是,跳出循环
初始化变量 is_prime 为 True
循环开始:
检查 n 是否能被 2 到 n-1 之间的任何数整除
如果能,将 is_prime 设为 False 并跳出循环
否则,继续下一个循环
如果 is_prime 为 True,输出 n
将 n 加 1
循环结束
结束
以下是对应的 N-S 流程图:
┌───────────────┐
│ 开始 │
└───────────────┘
│
▼
┌───────────────┐
│ 初始化 n = 2 │
└───────────────┘
│
▼
┌───────────────┐
│ 循环开始 │
└───────────────┘
│
▼
┌───────────────┐
│ 检查 n > 100 │
└───────────────┘
│
├─[n > 100]─┐
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ 初始化 is_prime │ │ 循环开始 │
│ 为 True │ └───────────────┘
└───────────────┘ │
│ ▼
▼ ┌───────────────────┐
┌───────────────┐ │ 检查 n 能否被 2~n-1 之间 │
│ 循环开始 │◀───┤ 的任何数整除 │
└───────────────┘ └───────────────────┘
│ │
├─[能整除]───┐ │
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐
│ is_prime = False │ │ 继续下一个循环 │
└───────────────┘ └───────────────┘
│ │
├─[循环结束]─┐ │
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐
│ 输出 n │ │ n 加 1 │
└───────────────┘ └───────────────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ 循环开始 │────┤ 返回循环开始 │
└───────────────┘ └───────────────┘
│
└─[循环结束]─┐
│
▼
┌──────────────────────┐
│ 结束 │
└──────────────────────┘
希望这样的 N-S 流程图能够清晰地展示出素数输出的算法过程!
原文地址: https://www.cveoy.top/t/topic/byvc 著作权归作者所有。请勿转载和采集!