亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查找以 1 結尾的輸入的下一個素數

查找以 1 結尾的輸入的下一個素數

慕田峪7331174 2022-12-28 13:58:28
我試圖找到下一個以 1 結尾的素數。這只顯示下一個素數。但我想打印下一個以 1 結尾的素數。int num=103;for(l=num+1;;l++){   for(k=2;k<l;k++)   {     if(l%k==0)        break;   }   if(k==l)   {       System.out.println("Next prime no is:"+l);       break;   }    }
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

我們可以做這樣的事情嗎?


int num=103;

for(l=num+1;;l++)

{

   if(l%10==1)

   {

    for(k=2;k<l;k++)

    {

     if(l%k==0)

        break;

     }

     if(k==l)

     {

       System.out.println("Next prime no is:"+l);

       break;

     }

   }

}


查看完整回答
反對 回復 2022-12-28
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

我認為你可以做得比@ShashankGupta 建議的“加 1 并測試后面的每個數字是否以 1 結尾并且是質數”更好。一旦我們找到下一個以“1”結尾的數字(使用算術,而不是循環),我們只需要從那時起檢查每十分之一的數字:


public static int next_one_prime(int number)

{

    // next number ending in '1'

    number += 1 + Math.floorMod(-number % 10, 10); 


    outer: while (true)

    {

        for (int k = 3; k * k <= number; k += 2)

        {

            if (number % k == 0)

            {

                number += 10;

                continue outer;

            }

        }


        return number; // next prime ending in '1'

    }

}


查看完整回答
反對 回復 2022-12-28
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號