微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 急求,判断素数的原理和思路。

急求,判断素数的原理和思路。

时间:10-02 整理:3721RD 点击:
想请教下各位大神们,这个图上作品的设计思路、原理、并且使用的工具,越详细越好,谢谢了。

判断素数


说来话长。         

这个好像要经过好长的数学计算公式呀

素数没有啥规律,可以查表

这个就是把所有2到n-1的数都除一下中看余数啊,全都不能整除的就是素数了。

麻烦问下能不能在详细点?

麻烦问下能不能在详细点?

还能怎么详细啊。
这个就是按素数定义,简单粗暴的验证一下啊。
对于一个数N,尝试依次除以2到N-1,检查余数,余数为零就证明能整除,不是素数,退出循环。

图上这个是倒序,从N-1试到2。
真是个傻逼做法,不明白为什么这么写。
明显从正序2开始试效率更高啊。直接第一步就可以把一半的偶数去掉了。
效率更高的做法是除以小于N的所有素数验证余数就可以了。前提是你要有小于N的所有素数的列表。
像要求 什么小于10000的所有素数之类的这么做明显效率更高
补充内容 (2017-1-9 02:40):
update: 只要除以不大于sqrt(N)的素数即可。

太长 一两句没法说

素数,又叫做质数,它首先是在大于1 的自然数中,所以刚开始判断了大于1;素数除了1和它本身以外,就没有其他的因子。
然后进入while循环,假设我输入的数是20,那么我就把19-2这一些数和20作除法,比较除数是不是为0,如果其中有一个计算的结果为0,那么它肯定不是素数,因为它还存在其它的因子(除1和自身外)。如果这样就退出while循环并且输出不是素数的提示。
至于后面的“数值转换为字符串”和“连接字符串”函数只是输出最后的状态。
这个程序还有瑕疵,控件上面的小红三角形表示两个的数据类型不相同。
另外附上正解



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top