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

数値が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;
      }
   }
}

  1. 数値がC++で2つの三角数の合計として表現できるかどうかを確認します

    このセクションでは、1つの数を2つの三角数の合計として表現できるかどうかを確認します。三角数は以下のようになります- 例から、1、3、6、10はいくつかの三角数であることがわかります。数N(たとえば16)を2つの三角数(6、10)の合計として表す必要があります。 アプローチは非常に簡単です。 N未満のすべての三角数を取得する必要があります。これらの値からセットを作成します。ここで、集合からXと言う数を取り、N – Xが集合に存在するかどうかを確認する必要があります。そうすると、Xは2つの三角数の合計として表すことができます。 例 #include <iostream> #

  2. 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