首页 > 其他 > 详细

简单的整数分解模板

时间:2018-11-30 00:27:37      阅读:169      评论:0      收藏:0      [点我收藏+]

将整数分解为素因子

//将素因子全部分解出来
template<class T> void Reduce(T x,T *p,T &tot){
    tot=0;
    for(T i=2;i*i<=x;i++){
        while(x%i==0) {
            x/=i;
            p[tot++]=i;
        }
    }
  if(x>1) p[tot++]=x; }

将整数分解为幂的形式

template<class T> void Reduce(T x,T *p,T &tot){
    tot=0;
    for(T i=2;i*i<=x;i++){
        T ret=1;
        while(x%i==0) {
            x/=i;
            ret*=i;
        }
        if(ret>1) p[tot++]=ret;
    }
    if(x>1) p[tot++]=x;
}

 

简单的整数分解模板

原文:https://www.cnblogs.com/033000-/p/10041664.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!