VB的sqr是什么判断是否是素数的程序里为什么n不能被2—sqr(n)中的任何一个数整除,n就是素数.这个sqr代表什么

问题描述:

VB的sqr是什么
判断是否是素数的程序里为什么n不能被2—sqr(n)中的任何一个数整除,n就是素数.这个sqr代表什么啊?不是说返还平方根吗?这跟素数有关系?
1个回答 分类:数学 2014-10-15

问题解答:

我来补答
有的,举个例子:17是素数吧,那么sqr(17)= 4.123,当然会四舍五入到4.拿17除以2,不能整除,然后是3,4,依然不行,那么5之后就不用算了,因为他大于17的平方根4.123,已经可以确定是一个素数了.这是判断素数的一个算法,从2除起,一直到商比除数还要小时,就不用算了,可以肯定是素数.
在比如16.他可以等于2 * 8 ,4 * 4 ,8 * 2,.当然也可以从大的数字开始除起,可以等于8 * 2 ,4 * 4 ,2 * 8 .这是个逆过程,当除数大于平方根时,再继续算下去就是重复劳动,徒增负担,所以为了精简计算机程序,为了节约计算时间,采用了这样的算法.如若一直除到n-1,不是不可以,只是这样的程序计算太耗时间,数字小的时候还看不出来,一旦处理的数字多了,大了,就会浪费大量的时间和精力.这是一种程序优化
 
 
展开全文阅读
剩余:2000