飞道的博客

867. 分解质因数

321人阅读  评论(0)

给定 nn 个正整数 aiai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。

输入格式

第一行包含整数 nn。

接下来 nn 行,每行包含一个正整数 aiai。

输出格式

对于每个正整数 aiai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。

每个正整数的质因数全部输出完毕后,输出一个空行。

数据范围

1≤n≤1001≤n≤100,
2≤ai≤2×1092≤ai≤2×109

输入样例:


  
  1. 2
  2. 6
  3. 8

输出样例:


  
  1. 2 1
  2. 3 1
  3. 2 3

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
void devide(int x)
{
    for(int i=2;i<=x/i;i++)
    {
        if(x%i==0)
        {
            int s=0;
            while(x%i==0)x/=i,s++;
            cout<<i<<" "<<s<<endl;
        }
    }
            if(x>1)cout<<x<<" "<<1<<endl;
            cout<<endl;
}
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int t;
        cin>>t;
        devide(t);
    }
    return 0;


转载:https://blog.csdn.net/m0_62609939/article/details/128525800
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场