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

nをチェックするプログラムはPythonでkの合計として表示できるかどうか


数nと別の数kがあるとします。 nがk個の素数の和として表現できるかどうかを確認する必要があります。

したがって、入力がn =30 k =3の場合、30は2 + 11 + 17のように表すことができるため、出力はTrueになります。

これを解決するには、次の手順に従います-

  • n
  • Falseを返す
  • k> 2の場合、
    • Trueを返す
  • kが2と同じ場合、
    • nが偶数の場合、
      • Trueを返す
    • (n-2)が素数の場合、
      • Trueを返す
    • Falseを返す
  • nが素数の場合、
    • Trueを返す
  • Falseを返す
  • 理解を深めるために、次の実装を見てみましょう-

    def isPrime(num):
       if num > 1:
          for i in range(2, num):
             if num % i == 0:
                return False
          return True
       return False
    
    def solve(n, k):
       if n < k*2:
          return False
      
       if k > 2:
          return True
    
       if k == 2:
          if n%2 == 0:
             return True
    
          if isPrime(n-2):
             return True
          return False
    
       if isPrime(n):
          return True
       return False
    
    n = 30
    k = 3
    print(solve(n, k))

    入力

    30, 3
    

    出力

    True

    1. 数値が素数かどうかをチェックするPythonプログラム

      ここでは、1より大きい指定された数が素数であるかどうかをテストするプログラムを作成します。 素数は1より大きい正の整数であり、2つの因子1と、その数自体(たとえば、数:2、3、5、7…など)は2つの因子しかないため、素数です。 1と番号自体。 # Python program to check if the input number is prime or not #Take input from the user num = int(input("Please enter the number: ")) #Check if the given number is gre

    2. 文字列が回文であるかどうかをチェックするPythonプログラム

      文字列が与えられた場合、私たちのタスクは、この文字列が回文であるかどうかを確認することです。 アルゴリズム Step1: Enter string as an input. Step2: Using string slicing we reverse the string and compare it back to the original string. Step3: Then display the result. サンプルコード my_string=input("Enter string:") if(my_string==my_string[::-1]): &nbs