Java中有没有更快的判断一个数为质数的方法
以下是我乍看的直覺,未做實際驗證,請見諒。如果i \u0026lt;= Math.sqrt( number )
這個判斷,換成i * i \u0026lt;= number
不知會不會快一點?當然,for 循環的次數可能會增加1次。其次,for 循環之前的「排除」部分略做調整,比如: if ( ( number \u0026gt; 2 \u0026amp;\u0026amp; number % 2 == 0 ) || number \u0026lt; 2 ) { return false; }
這樣,對於所有大於2的數,比起你截圖裏的程序,可以少做1次邏輯判斷。
■网友
java代码:
public class Is_Prime {
\tpublic static void isprime(int i) {
\t\tint count = 0;
\t\tfor (int j = 1; j \u0026lt;= (i / 2); j++) {
\t\t\tint result = i % j;
\t\t\tif (result == 0)
\t\t\t\tcount++;
\t\t\tif (count \u0026gt;= 2) {
\t\t\t\tSystem.out.println("not prime");
\t\t\t\tbreak;
\t\t\t}
\t\t\tif (j == (i / 2)) {
\t\t\t\tSystem.out.println("is prime");
\t\t\t}
\t\t}
\t}
\tpublic static void main(String args) {
\t\tSystem.out.println("请输入的数:");
\t\tScanner s = new Scanner(System.in);
\t\tint x = s.nextInt();
\t\tisprime(x);
\t}
}
■网友
这事和java有啥关系
■网友
public boolean isOdd(int i) {
return (i \u0026amp; 1) == 1;
}
【Java中有没有更快的判断一个数为质数的方法】
推荐阅读
- 程序猿和产品汪能愉快的一起谈恋爱嘛
- 知乎有没有必要增加一个特别关注功能
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 趣头条|幻影提车小记…有没有车主群加一个
- 基因是主动表达还是受某种场的影响被动表达,又或两者都有有没有隔绝所有电磁场来研究基因表达的实验
- 有没有网站能够搜出我给的类似风格图片的网站
- 有没有突如其来很好的小创意
- 上海或苏州有没有比较好的大数据培训机构
- 在平台购买网店时,签订网店转让合同有没有法律效应
- 钙奶|到底有没有营养?医生:不如白开水孩子爱喝的AD钙奶