之前质因子分解都写得比较挫,做了这道题发现质因子分解原来是还可以这样写,这个写法记录一下:
int main()
{
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
cout<<n<<"=";
int i=2,k=0;
while(i*i<=n)
{
if(n%i==0)
{
n/=i;
a[k++]=i;
i=1;
}
i++;
}
a[k++]=n;
for(int i=0;i<k;i++)
{
printf("%d%c",a[i],i==k-1?'\n':'*');
}
}
}
之前的写法需要优化一下才能过这道题:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <map>
#include <set>