分解质因数

分解质因数

可用试除法,判断质数是不是它的因子以及有多少个该因子即可;

#include <cstdio>
#include <algorithm>

using namespace std;
void divide(int x)
{
    for(int i=2;i<=x/i;++i)
    {
        if(x%i==0)
        {
            int num=0;
            while(x%i==0){
                x/=i;
                num++;
            }
            printf("%d %d
",i,num);		//分别为底数和指数
        }
    }
    if(x>1) printf("%d %d
",x,1);
    puts("");
}

int main()
{
    int T,x;
    scanf("%d",&T);
    while(T--){
        scanf("%d",&x);
        divide(x);
    }
}
原文地址:https://www.cnblogs.com/StungYep/p/12252374.html