高清H肉动漫在线观看,午夜电影精品一区二区三区,欧美一卡2卡三卡4卡无卡免费高清,亚洲乱色伦图片区小说,天天拍天天看天天做

java高效算法求整數(shù)n中的所有素?cái)?shù)

該算法比較高效(肯定有更高效的算法,沒再繼續(xù)優(yōu)化算法),求1億內(nèi)所有素?cái)?shù)也僅為2秒左右,依據(jù)是所有的合數(shù)都可以拆分為:n * m ,而質(zhì)數(shù)只能被1和其本身整除。

/**
 * 求0-num 所有質(zhì)數(shù)
 * @author http://www.pzizfji.cn/
 * @date 2020-12-19
 */
public class GetPrimeByNum {

    public static void main(String[] args) {
        long startTime = System.currentTimeMillis();
        int num = 100000000;
        byte[] list = new byte[num + 1];
        //0與1不是質(zhì)數(shù),排除,置為-1,byte數(shù)組默認(rèn)各元素值為0
        list[0] = list[1] = -1;
        for (int i = 2; i <= num; i++) {
            if (list[i] == 0) {
                //任意合數(shù)都有除1和本身能整除其的數(shù)
                for (int j = i * 2; j<= num; j += i) {
                    //是合數(shù)將其值修改成-1
                    list[j] = -1;
                }
            }
        }
        int count = 0;
        //計(jì)算質(zhì)數(shù)的數(shù)量,為0的都是質(zhì)數(shù)
        for (int i = 1; i < num; i++) {
            if (list[i] == 0) count++;
        }
        System.out.println("耗時(shí):" + (System.currentTimeMillis() - startTime) + "毫秒,個(gè)數(shù):" + count);
    }
}

 

相關(guān)文章

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開。 必填項(xiàng)已用 * 標(biāo)注

qq
微信
微信
分享本頁
返回頂部