输入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就足够了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)