Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで素数を数える


制限nがあるとします。 2からnの範囲に存在する素数の数を数える必要があります。したがって、n =10の場合、結果は4になります。10の前に4つの素数があるため、2、3、5、7になります。

これを解決するために、このアプローチに従います-

  • カウント=0
  • サイズn+1の配列prime=を1つ取り、Falseで埋めます
  • i =0からnの場合、do
    • prime [i] =falseの場合、
      • カウントを1つ増やします
      • set j =2
      • while j * i
      • prime [i * j] =True
      • j =j + 1
  • 返品数
  • 理解を深めるために、次の実装を見てみましょう-

    class Solution(object):
       def countPrimes(self, n):
          """
          :type n: int
          :rtype: int
          """
          count = 0
          primes = [False for i in range(n+1)]
          for i in range(2,n):
             if primes[i] == False:
                count+=1
                j = 2
                while j*i<n:
                   primes[j*i] = True
                   j+=1
          return count
    ob1 = Solution()
    print(ob1.countPrimes(50))
    print(ob1.countPrimes(10))

    入力

    n = 50
    n = 10

    出力

    15
    4

    1. 配列内の反転をカウントするPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):  

    2. Pythonのクラス変数または静的変数?

      クラス内でメソッドの外部で変数を宣言すると、pythonではクラスまたは静的変数として呼び出されます。クラスまたは静的変数はクラスを介して参照できますが、インスタンスを介して直接参照することはできません。 クラス変数または静的変数は、同じ名前の他のメンバー変数とはまったく異なり、競合しません。以下は、クラスまたは静的変数の使用法を示すプログラムです- 例 class Fruits(object): count = 0 def __init__(self, name, count): self.name = name self.count = count Fruits.count = Frui