乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      算法創(chuàng)作|質(zhì)數(shù)計(jì)數(shù)問題解決方法

       算法與編程之美 2021-04-03

      問題描述

      統(tǒng)計(jì)所有小于非負(fù)整數(shù)n的質(zhì)數(shù)的數(shù)量。

      示例:

      輸入:n = 10

      輸出:4

      示例:

      輸入:n = 1

      輸出:0

      示例:

      輸入:n = 0

      輸出:0

      提示:0 <= n <= 5 * 106

      解決方案

      對(duì)于每個(gè)數(shù) i,我們可以枚舉 [2, i-1][2i-1]區(qū)間的任意一個(gè)數(shù) j,判斷i 能否被j整除,枚舉 [2, i-1][2,i?1] 區(qū)間的任意一個(gè)數(shù)j,判斷i能否被j整除時(shí),我們可以發(fā)現(xiàn),如果i能夠被j整除,那么這里的商也一定能夠整除i,也就是i也能夠被i/j整除。那么我們只要判斷ii/j其中一個(gè)能否整除i即可。

      代碼清單 1統(tǒng)計(jì)所有小于非負(fù)整數(shù)n的質(zhì)數(shù)的數(shù)量

      class Solution:

          def countPrimes(self, n: int) -> int:

              def is_prime(num):

                  j = 2

                  while j * j <= num:

                      if num % j == 0:

                          return False

                      j += 1

                  return True

              count = 0

              for i in range(2, n):

                  if is_prime(i):

                      count += 1

              return count

      運(yùn)行代碼

      結(jié)語

      此類方法需要較為麻煩,思維較為復(fù)雜,需要單次判斷每一個(gè)數(shù)是否為質(zhì)數(shù),淡然也可以采取枚舉法、線性篩等方法,這些方法可能更容易理解,當(dāng)我們遇到此類問題時(shí),需迅速構(gòu)建出各種方法,在這之中篩選,選出更簡(jiǎn)單的方法。

      實(shí)習(xí)編輯:李欣容

      作者:查萌雨 岳進(jìn) 趙柔

      稿件來源:深度學(xué)習(xí)與文旅應(yīng)用實(shí)驗(yàn)室(DLETA)

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多