有没有人教一下我,这个平方是为什么😣

img

自行百度:为什么一个数开平方可以确认它是不是素数

遍历查询,最简单的写法就算i<x;但是这明显还是可以继续优化的,
初步优化就是只遍历到一半向上取整(i*2<=x),因为除开1和本身以外,
一个数可能存在的最小因子只能是2,那么存在的最大因子就是x/2;所以只需遍历到一半。
这时候我们要考虑到,继续优化,一个数可以表示为x=a*b,这实际上是一个面积一定的长方形,求a,b的问题。
相当于遍历a,求b。那么会发现,在遍历过程中,比如15可以表示为3*5,当遍历到5时,又可以表示为5*3,
明显是重复求因子了,那么如何区优化呢,利用长方形的长和宽,设定长大于宽,也就是b>a。
但是长方形中有一个特殊,正方形也是长方形,前设假定为,b>=a。
当且仅当b=a,及为正方形时,就已经遍历结束了,取整结果就算i*i<=x。