xaut3 发表于 2010-7-25 09:12:04

整数的素数分解

素数定义:质数又称素数。指在一个大于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;
}
页: [1]
查看完整版本: 整数的素数分解

招聘斑竹