数値が2つの素数の合計として表現できるかどうかをチェックするC++プログラム
以下は、数値が2つの素数の合計として表現できるかどうかを確認する例です。
例
#include <iostream> using namespace std; int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; } int main() { int num , i; cout << "Enter a number : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } } return 0; }
出力
Enter a number : 18 18 = 5 + 13 18 = 7 + 11
上記のプログラムでは、関数func()は、数が素数であるかどうかをチェックしています。
int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; }
main()関数では、ユーザーが数値を入力します。 2つの素数の合計として数を計算しています。
cout << "Enter a number : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } }
-
数値がC++で2つの三角数の合計として表現できるかどうかを確認します
このセクションでは、1つの数を2つの三角数の合計として表現できるかどうかを確認します。三角数は以下のようになります- 例から、1、3、6、10はいくつかの三角数であることがわかります。数N(たとえば16)を2つの三角数(6、10)の合計として表す必要があります。 アプローチは非常に簡単です。 N未満のすべての三角数を取得する必要があります。これらの値からセットを作成します。ここで、集合からXと言う数を取り、N – Xが集合に存在するかどうかを確認する必要があります。そうすると、Xは2つの三角数の合計として表すことができます。 例 #include <iostream> #
-
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を返す Tru