00:03
这节课讲初论分解,初轮分解是判断一个数是否是数数的。嗯,时间和角度我认为是√2。N的3/2次方是网上的资料这么写的,但我认为是不对的,因为测论分解本质就是4除法。我们看一下四除法里面怎么说,在优化范围的情况下。世间复杂度是更好。而错轮分解是属于错轮分解的时间复杂度也是√2。按优化围绕两方面进行。缩小次数范围和减少次数次数缩小示数范围。肯定都具备的。剩下的就是减少次数。次数。哎,终极优化里面的除数是数数,这个是。嗯嗯,这个是把优化已经是优化到极限了。
01:04
但是输出的通项公式目前是人类并没有找到这样的通项公式,所以我们只能退求其次。嗯。首先看第3点。排除2的倍数,除数是奇数,那那这个时候除数就是2N2N+1。第4点排除了2和3的倍数。2×3=6,所以就是6N加多少,然后后面这一套是怎么得来的?嗯,首先就是2。六的6以内的输出有哪些?就是235。二三排除掉。然后就只剩下5了,所以就是6+5。利润减一等加入6+5。
02:00
呃,6N+1等加1 6N+7。整,这个是大于6的数,可以当成一个特例。嗯,我们在推广一下,那就是排除235的倍数。那么除数就变成了2×3×5就等于30,也就是三升加多少?我们看一下车轮分件里面。30加就是这头数字。这个数组里面这一坨。的都是叔叔,并且小于30的31只是,嗯,它也是。31:30的稍大一点。嗯,我们直接看一下代码。
03:02
嗯,这个这个数组。因为就是这个叔叔。然后做一个判断,判断是不是235,如果是的话,就是数数,判断是不是235的倍数。如果是倍数的话,那肯定就是合数,然后这个是求。嗯,就跟好人的。然后便利这个一轮,一轮就是30,也就是说I=0 30,六十,九十等等。然后里面再便利C。嗯。变便利C,而C就是这个数组里面的数字。然后如果是如果大于SQ,那那可能就不用判断。然后判断N÷C+I。
04:03
这个I它是30的倍数,也就30加,嗯。加这个数组里面的数字,比如说33+7 33+11 33+13等等。一直加下去。嗯。如,如果能证出,那自然就是。或。不能整除的话,然后进行下一轮的判断,也就是I=30。然后如如果还不能判断。那那么再加一轮,也就是I=60。然后一直往下追。一直到小于SQ的时候。为为什么这个地方不不是小于等于呢。嗯,这是因为这个II30N3上加一个C。
05:04
它是。大于0的。所以如果33如果已经等于Q了,那33加一个C,那肯定就是大于SQ,那这这个时候就不需要做判断了,所以这个地方就是一定是小于SQ。然后最后就就是打印是否是输数还是额数。我们看一下运行结果。嗯,这个是9973 9973是数数还是函数。我们可以看到,它就是数数。嗯,其实车轮分拣我们还可以做一个推广。这个地方是排除了235的倍数,我们在推广一下,就是排除2357的倍数。那那么这个列表就变成多少。
06:04
那那就变成了,除了2357。200这个30肯定是2×3×5×7,也就是210。这个数组就是210以内的所有数数。除掉2357,然后再加个211。这嗯,这是这是一个推广吧,策略分解。嗯,现在大概就讲到这里了。
我来说两句