博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

整数的素数分解

Posted on 2010-07-25 07:29  还好  阅读(1540)  评论(0编辑  收藏  举报

素数定义:质数又称素数。指在一个大于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;
}