题目:质因数分解
代码:
#include<stdio.h>
#include<math.h>
int main ()
{ long long a,i,k;
int j=1;
while(1){
scanf("%I64d",&a);
k=sqrt(a);
for(i=2;i<=k;i++){
if(a%i==0){
printf("%I64d",i);
a/=i;
while(a%i==0){
while(a%i==0){
a/=i;
j++;
}
printf("^%d",j);
}
if(a%i!=0&&a!=1){
printf("*");
}
}
j=1;
}
if(a!=1)
{
printf("%I64d",a);
}
printf("\n");
}
}
疑问:超时了,求改进