质数判断,不同算法效率比较
生活随笔
收集整理的這篇文章主要介紹了
质数判断,不同算法效率比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Untitled {public static void main(String[] args){int n=10069;//n>=2//nanoTime:納秒//currentTimeMillis:秒//一納秒等于十億分之一秒//方法1long st0= System.nanoTime();//獲取開始時間(納秒)System.out.println(Pd0(n));long et0=System.nanoTime();//獲取結束時間 (納秒)System.out.printf("方法一花費時間:%d",et0-st0);//方法2long st1= System.nanoTime();//獲取開始時間(納秒)System.out.println(Pd1(n));long et1=System.nanoTime();//獲取結束時間 (納秒)System.out.printf("方法二花費時間:%d",et1-st1);//方法三long st2= System.nanoTime();//獲取開始時間(納秒)System.out.println(Pd2(n));long et2=System.nanoTime();//獲取結束時間 (納秒)System.out.printf("方法三花費時間:%d",et2-st2);}//方法一:常規public static int Pd0(int n){int t=1;for(int i=2;i<n;i++){if(n%i==0){t=0;break;}}return t;}//方法二:開方[判斷質數只計算到開方的原因](https://blog.csdn.net/dc12499574/article/details/109101056)public static int Pd1(int n){int t=1;for(int i=2;i<Math.sqrt(n);i++){if(n%i==0){t=0;break;}}return t;}//方法三:開方+奇數public static int Pd2(int n){int t=1;for(int i=3;i<Math.sqrt(n);i+=2){if(n%i==0){t=0;break;}if(n%2==0){t=0;}}return t;}
}
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的质数判断,不同算法效率比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 实现三次 for 循环计算水仙
- 下一篇: C语言 链表 创建