素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。
素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!
代码
#include <iostream>
using namespace std;
void PrimaryCal(int num)
{
for(int i=2;i*i<=num;i++)
{
while(num%i==0)
{
cout<<i<<" ";
num/=i;
}
}
if(num!=1)
{
cout<<num;
}
}
int main(void)
{
for(int i=10;i<=100;i++)
{
cout<<i<<" = ";
PrimaryCal(i);
cout<<endl;
}
return -1;
}
using namespace std;
void PrimaryCal(int num)
{
for(int i=2;i*i<=num;i++)
{
while(num%i==0)
{
cout<<i<<" ";
num/=i;
}
}
if(num!=1)
{
cout<<num;
}
}
int main(void)
{
for(int i=10;i<=100;i++)
{
cout<<i<<" = ";
PrimaryCal(i);
cout<<endl;
}
return -1;
}