Pythonで素数が2つの素数の合計として表現できるかどうかを確認します
素数nがあるとします。 nをx+yとして表現できるかどうかを確認する必要があります。ここで、xとyも2つの素数です。
したがって、入力がn =19の場合、19 =17 + 2
のように表現できるため、出力はTrueになります。これを解決するには、次の手順に従います-
- 関数isPrime()を定義します。これには数がかかります
- 数値<=1の場合、
- Falseを返す
- 数値が2と同じ場合、
- Trueを返す
- 数値が偶数の場合、
- Falseを返す
- 範囲3から((数値の平方根)+ 1)の整数部分のiの場合、2ずつ増やします。
- 数値がiで割り切れる場合、
- Falseを返す
- 数値がiで割り切れる場合、
- Trueを返す
- メインの方法から次のようにします-
- isPrime(number)とisPrime(number-2)の両方がtrueの場合、
- Trueを返す
- それ以外の場合、
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
例
from math import sqrt def isPrime(number): if number <= 1: return False if number == 2: return True if number % 2 == 0: return False for i in range(3, int(sqrt(number))+1, 2): if number%i == 0: return False return True def solve(number): if isPrime(number) and isPrime(number - 2): return True else: return False n = 19 print(solve(n))
入力
19
出力
True
-
数値がC++で2つの三角数の合計として表現できるかどうかを確認します
このセクションでは、1つの数を2つの三角数の合計として表現できるかどうかを確認します。三角数は以下のようになります- 例から、1、3、6、10はいくつかの三角数であることがわかります。数N(たとえば16)を2つの三角数(6、10)の合計として表す必要があります。 アプローチは非常に簡単です。 N未満のすべての三角数を取得する必要があります。これらの値からセットを作成します。ここで、集合からXと言う数を取り、N – Xが集合に存在するかどうかを確認する必要があります。そうすると、Xは2つの三角数の合計として表すことができます。 例 #include <iostream> #
-
素数をチェックするPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、与えられた数が素数であるかどうかを確認する必要があります。 1より大きい特定の正の数で、1以外の要素はなく、その数自体は素数と呼ばれます。 2、3、5、7などは他の要素がないため素数です。 以下のこのプログラムでは、素数または非素数の性質について番号がチェックされます。 1以下の数は素数とは言えません。したがって、数値が1より大きい場合にのみ反復します。 ここで、その数が2から(num-1 // 2)の範囲の任意の数で正確に割り切れるかどうかを確認します。指定された範囲内に何ら