想法
就是把每个能除的数给它彻底除完,这样的话能除的一定都是质数。
因为刚开始除的2就是质数而它的倍数也会被除完3同理,就算最初这个数有4这个因子也会因为被2除完了不会出现。
代码
#include<cstdio>
using namespace std;
int n,i,x,j,k,fg;
int main()
{
scanf("%d",&n);
while(n--)
{
scanf("%d",&x);
for(i=2;i<=x/i;++i)
if(x%i==0)
{
j=0;
while(x%i==0)x/=i,++j;
printf("%d %d\n",i,j);
}
if(x!=1)printf("%d 1\n",x);
printf("\n");
}
return 0;
}