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

2つの素数の合計として表される数のCプログラム。


問題

与えられた数が2つの素数の合計として表現できるかどうかを調べます。

正の整数Nが与えられた場合、数Nが2つの素数の合計として表現できるかどうかを確認する必要があります。

解決策

以下に示す例を考えてみましょう-

20は、2つの素数3と17、13と7の合計として表すことができます。

20 =3 + 7

20 =13 + 7

アルゴリズム

与えられた数を2つの素数の合計として表現するには、以下に示すアルゴリズムを参照してください。

ステップ1-実行時にチェックする番号を入力します。

ステップ2-i=2から(num / 2)まで繰り返します。

ステップ3-iが素数であることを確認します。

ステップ4-iが素数の場合、(n-i)が素数であるかどうかを確認します。

ステップ5-(i)と(n-i)の両方が素数である場合、与えられた数は素数iと(n-i)の合計として表すことができます。

以下は、与えられた数を2つの素数の合計として表現するためのCプログラムです-

#include <stdio.h>
int Sum(int n);
int main(){
   int num, i;
   printf("Enter number: ");
   scanf("%d", &num);
   int flag = 0;
   for(i = 2; i <= num/2; ++i){
      if (sum(i) == 1){
         if (sum(num-i) == 1){
            printf("\nThe given %d can be expressed as the sum of %d and %d\n\n", num, i, num - i);
            flag = 1;
         }
      }
   }
   if (flag == 0)
   printf("The given %d cannot be expressed as the sum of two prime numbers\n", num);
   return 0;
}
//check if a number is prime or not
int sum(int n){
   int i, isPrime = 1;
   for(i = 2; i <= n/2; ++i){
      if(n % i == 0){
         isPrime = 0;
         break;
      }
   }
   return isPrime;
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

Run 1:
Enter number: 34
The given 34 can be expressed as the sum of 3 and 31
The given 34 can be expressed as the sum of 5 and 29
The given 34 can be expressed as the sum of 11 and 23
The given 34 can be expressed as the sum of 17 and 17
Run 2:
Enter number: 11
The given 11 cannot be expressed as the sum of two prime numbers

  1. C最初のn個の自然数の立方和のプログラム?

    この問題では、最初のn個の自然数の立方体の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の3乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム cubeNNatural(n) begin    sum := 0    for i in range 1 to n, do       sum := sum + i^3 &n

  2. 与えられた数のすべての素因数を出力する効率的なプログラムのためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、与えられた数のすべての素因数を見つける必要があります。 この問題の効率的な解決策については、以下で説明します- 例 # Python program to print prime factors import math # prime def primeFactors(n):    # no of even divisibility    while n % 2 == 0:       print (2), &n