素数因子是素数,它是给定数的因子。
数字的因子是乘以得到给定数字的数字。
素数分解是将数与素数进行递归除法以找到该数所有素数的过程。
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