Java binarysearch可以用于检查素性吗?

Java binarysearch可以用于检查素性吗?,java,performance,primes,binary-search,Java,Performance,Primes,Binary Search,我想知道二进制搜索是否可以用来检查一个数是否为素数,因为真正的问题是我能否找到一个除数本身和1之外的可除数,因此我可以想象通过从2到I/2的有序整数数组(我是一个被检查的数) 二进制搜索是一种将区间划分为两个(几乎)相等的部分并确定其中哪个部分包含搜索值的方法 测试任何数字看它是否是除数不会告诉你选择哪个区间。显然不是 二进制搜索是一种将区间划分为两个(几乎)相等的部分并确定其中哪个部分包含搜索值的方法 测试任何数字是否是除数并不能告诉您选择哪个区间。我从未听说过这样的算法。所以我的猜测是否定的

我想知道二进制搜索是否可以用来检查一个数是否为素数,因为真正的问题是我能否找到一个除数本身和1之外的可除数,因此我可以想象通过从2到I/2的有序整数数组(我是一个被检查的数)

二进制搜索是一种将区间划分为两个(几乎)相等的部分并确定其中哪个部分包含搜索值的方法

测试任何数字看它是否是除数不会告诉你选择哪个区间。

显然不是

二进制搜索是一种将区间划分为两个(几乎)相等的部分并确定其中哪个部分包含搜索值的方法


测试任何数字是否是除数并不能告诉您选择哪个区间。

我从未听说过这样的算法。所以我的猜测是否定的。乍一看,这几乎毫无意义。但是也许我遗漏了什么。顺便说一句,如果你想找一个I的除数,候选数应该是2到sqrt(I),不是2到1/2@MichaelBorgwardt虽然一个更大的候选集除了会减慢处理速度之外,不会造成任何伤害。你所描述的与蛮力法有何不同?我从来没有听说过这样的算法。所以我的猜测是否定的。乍一看,这几乎毫无意义。但是也许我遗漏了什么。顺便说一句,如果你想找一个I的除数,候选的是2到sqrt(I),而不是2到I/2@MichaelBorgwardt虽然一个更大的候选集不会造成任何伤害-除了减慢处理速度。你所描述的与暴力方法有什么不同?我明白了,我只是认为一定有某种方式来选择一个时间间隔,但我猜not@M.K.如果有一些有用的*方法来选择区间(据我所知,没有人证明这种方法不存在),那么为什么这个方法不能应用于内部2,sqrt(n)-一步解决问题。(*有很多无用的方法,比如蛮力来选择间隔。)我明白了,我只是认为一定有某种方法来选择间隔,但我猜not@M.K.如果有一些有用的方法来选择区间(据我所知,没有人证明这种方法不存在),那么,为什么这个方法不能应用于内部2,sqrt(n)-一步解决问题。(*有很多无用的方法,例如暴力来选择间隔。)