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