分解质因数
作者:
巷港
,
2022-03-26 21:47:49
,
所有人可见
,
阅读 110
#include <iostream>
#include <cstdio>
using namespace std;
void divide(int n)
{
for (int i=2;i<=n/i;i++)
{
if (n%i==0)
{
int s=0;
while (n%i==0)
{
n/=i;
s++;
}
printf("%d %d\n",i,s);
}
}
if (n>1) printf("%d %d\n",n,1);
printf("\n");
}
int main()
{
int n;
cin>>n;
while (n--)
{
int x;
cin>>x;
divide(x);
}
return 0;
}
朴素版本(可能会超时)
#include <iostream>
#include <cstdio>
using namespace std;
void divide(int n)
{
for (int i=2;i<=n;i++)
{
if (n%i==0)
{
int s=0;
while (n%i==0)
{
n/=i;
s++;
}
printf("%d %d\n",i,s);
}
}
printf("\n");
}
int main()
{
int n;
cin>>n;
while (n--)
{
int x;
cin>>x;
divide(x);
}
return 0;
}