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

C++プログラムの素因数


プライムファクター は与えられた数の因数である素数です。

数値の要因 は、与えられた数を得るために乗算される数です。

プライム因数分解 は、数をその素因数で再帰的に除算して、その数のすべての素因数を見つけるプロセスです。

Example :
N = 120
Prime factors = 2 5 3
Factorization : 2 * 2 * 2 * 3 * 5

数の素因数について覚えておくべきいくつかのポイント

  • 数の素因数のセットは一意です。
  • 因数分解は、除算、共通の分母の検索など、多くの数学計算で重要です。
  • これは暗号化における重要な概念です。

数の素因数を見つけるプログラム

#include <iostream>
#include <math.h>
using namespace std;
void printPrimeFactors(int n) {
   while (n%2 == 0){
      cout<<"2\t";
      n = n/2;
   }
   for (int i = 3; i <= sqrt(n); i = i+2){
      while (n%i == 0){
         cout<<i<<"\t";
         n = n/i;
      }
   }
   if (n > 2)
   cout<<n<<"\t";
}
int main() {
   int n = 2632;
   cout<<"Prime factors of "<<n<<" are :\t";
   printPrimeFactors(n);
   return 0;
}

出力

Prime factors of 2632 are :2   2   2   7   47

  1. C ++プログラムでの二分探索?

    二分探索は、半区間探索、対数探索、または二分探索とも呼ばれ、ソートされた配列内のターゲット値の位置を見つける検索アルゴリズムです。二分探索は、ターゲット値を配列の中央の要素と比較します。それらが等しくない場合、ターゲットが存在できない半分が削除され、残りの半分で検索が続行され、再び中央の要素がターゲット値と比較され、ターゲット値が見つかるまでこれが繰り返されます。残りの半分が空の状態で検索が終了した場合、ターゲットは配列に含まれていません。アイデアは単純ですが、バイナリ検索を正しく実装するには、特に配列の値が範囲内の整数のすべてではない場合、終了条件と中間点の計算に関する微妙な点に注意する必要

  2. 数値が素数であるかどうかをチェックするC++プログラム

    素数は1より大きい整数であり、素数の唯一の要素は1とそれ自体でなければなりません。最初の素数のいくつかは-です 2, 3, 5, 7, 11, 13 ,17 数が素数かどうかをチェックするプログラムは次のとおりです。 例 #include <iostream> using namespace std; int main() {    int n=17, i, flag = 0;    for(i=2; i<=n/2; ++i) {       if(n%i==0) {     &nbs