一个c语言的流程图 是关于判断素数的 看不太懂 麻烦解释一下过程

一个c语言的流程图 是关于判断素数的 看不太懂 麻烦解释一下过程,第1张

它郑散的算法是:

输入n后,让i取值在2~n/2就循环,逐一比较看n能否被i整除;如果能被其中任何一个i的值整除,提前退出循环,否则i的值档洞+1后继续。

当退出循环后检测,如果i的值<=n/2就说明它是提前退出循环的,n不是素数;否则说明n是素数。

至于i循环的范围,最大的是直接根据素数的定义,检测2~(n-1)

稍改进一点的,因为大于n/2的肯定不能整除,就只检测2~n/2

更优一点的,是根据n如果有除1和它自行丛枯身之外的其它因子,至少有一个在2~√n之间,那么 i 的循环范围就只要 2~√n 就可以了。

1、建立一此知个工程和.c文件。

2、输入头文件和主函数。

3、定义变量类型并初始化。

4、输入整数。

5、求出m的算数平铅逗方根。

6、如果可以整除,说明不是素数,退出循环。

7、输出得到最后的结果。

8、编译,运行,可以判断一个数是否为素数槐扒卖。

判断素数ns图的画法如图:

NS流程图结构分为图形、流程线和文字,NS流程图是一种可视化建模的结构化编程。实际上,NS图与流程图较为相似;但是它是将所有的算法写在一个矩形阵内。

NS流程图可以运用于软件教育等其他方面。NS流程图它具备可视化的特点,能够帮助其他人更好地理模哗解设计意图,能够直观表达,并且容易学习;最重要的是能够保证程序设计的质量。但如果是手工作图,就会不容易修改。因此建议用计算机软件作图。

素数的计算

根据素数的旦迅行定义思考。素数是大于1的自然数,除了1和自身外,其他数都不是它的因子。 那我们就可以用一个循环,从2开始遍历到这个数减去1,如果这个数都不能被整除,那么这个数就是素数。

也就是说: 给定一个数 n , i 从 2 开始取值,直到 n - 1(取整数),如果 n % i != 0 , n 就是素数 进一步思考,昌雹遍历到 n - 1没有太大的必要性 , 除了1以外,任何合数最小的因子就是2,那最大的因子就是 n/2 那我们就遍历到 n/2就足够了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12568063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存