vf求素数问题求1到100间的素数,我看到用了这样的语句for i = 2 to 100for j = 1 to sqr
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/04/30 02:26:08
vf求素数问题
求1到100间的素数,我看到用了这样的语句
for i = 2 to 100
for j = 1 to sqrt(i)
最后一条语句有什么用?求平方根和素数有关系吗?
求1到100间的素数,我看到用了这样的语句
for i = 2 to 100
for j = 1 to sqrt(i)
最后一条语句有什么用?求平方根和素数有关系吗?
有误吧?应该是for j = 2 to sqrt(i)吧?用1去除一个数有何意义?
比如i=100,那我们就用2~10(sqrt(100)=10)去除100,看其中是否有被整除的情况.因为用大于10的数去除100已没有必要了,比如用20除100得5,而已经做过100÷5(5在10以内)=20了……这样可节约大量代码运行时间!当然你用2~100去除,逻辑上是没错的!
再问: 没看明白。。。 求素数为什么要用到开方?
再答: 素数就是除了它自身和1能整除而不能被其他整数整除的数。比如30这个数,你用2去除、3去除...一直到用29除,有这个必要吗?把30开平方得整数5,就用2、3、4、5去除就够了,没有必要再用6~29这些数去除了,看省了多少事!因为用大于5的数(比如6)除的话得数就是5,而用5除的过程已经做过了……30÷5=6和30÷6=5都是整除,做一个就可以了,节约运行时间啊!再如判断100是不是素数,就用2~10(100开平方为10)去除,没有必要再用11~99去除了,省了多少时间啊!
再问: 还是不太明白,能说下原理吗?
再答: 一个数是它的两个平方根之积,用它的平方根取整去除它就行了,为什么还要用比它的平方根大的数去除呢,这不是白做工作吗?
比如i=100,那我们就用2~10(sqrt(100)=10)去除100,看其中是否有被整除的情况.因为用大于10的数去除100已没有必要了,比如用20除100得5,而已经做过100÷5(5在10以内)=20了……这样可节约大量代码运行时间!当然你用2~100去除,逻辑上是没错的!
再问: 没看明白。。。 求素数为什么要用到开方?
再答: 素数就是除了它自身和1能整除而不能被其他整数整除的数。比如30这个数,你用2去除、3去除...一直到用29除,有这个必要吗?把30开平方得整数5,就用2、3、4、5去除就够了,没有必要再用6~29这些数去除了,看省了多少事!因为用大于5的数(比如6)除的话得数就是5,而用5除的过程已经做过了……30÷5=6和30÷6=5都是整除,做一个就可以了,节约运行时间啊!再如判断100是不是素数,就用2~10(100开平方为10)去除,没有必要再用11~99去除了,省了多少时间啊!
再问: 还是不太明白,能说下原理吗?
再答: 一个数是它的两个平方根之积,用它的平方根取整去除它就行了,为什么还要用比它的平方根大的数去除呢,这不是白做工作吗?
vf求素数问题求1到100间的素数,我看到用了这样的语句for i = 2 to 100for j = 1 to sqr
计算机VF.用循环结构,FOR,INPUT等语句或函数求从2到1000的素数及素数的个数.写程序源码
一道VF程序设计题for j=1to i 开始看不懂了求详解
判断素数?用VB判断素数经典题目中计数变量为什么是i=1 to sqr(n)?写成 i=1 to n 不是也可以的么?虚
素数咋求?在编写程序时,应该怎样求1到100之间的素数?
求1到100内的素数的平方根之和,哪里出错了帮我看看
VB 求1000以内素数的和 这个哪里错了 不能用for语句
C语言求1到100的素数总和?
C语言 FOR循环求100到300的素数的输出,并统计素数个数 每6个输出就换行
素数求和问题求2到10之间所有素数的和
VF题:SET TALK OFF STORE 1 TO I,J FOR N=1 TO 4 @I,J+1 SAY“AB”
程序算法里面的问题 for i =1 to 20 step 2 for j = i to 20 step 3