主题:请问哪问高手知道整数分解的公式或定理?
hhjjkk
[专家分:0] 发布于 2006-05-02 11:01:00
怎样快速地把某个整数的各个素因数提取出来,放在一个数组里面,如300,就把它的因数2,3和5提出来。
回复列表 (共1个回复)
沙发
lt19870917 [专家分:750] 发布于 2006-05-02 12:45:00
给你一个递归算法:
#include "math.h"
#include "iostream.h"
void yinzi(unsigned n)
{
int p,i;
p=(int) sqrt(n);
for(i=p;i>1;i--)
{
if(n%i==0)
{
yinzi(i);
yinzi(n/i);
return;
}
}
cout<<n;
cout<<" ";
}
void main()
{
int s;
cout<<"给出一个数";
cin>>s;
cout<<"质因子为:";
yinzi(s);
}
我来回复