质因子分解

时间:2022-12-04 19:57:13

#include<stdio.h>


int main()

{

int n,i,j,k=0,a[100];

scanf("%d",&n);

for(i=2;i<=n;i++)

{for(j=2;j<i;j++)

{if(i%j==0)break;

}

if(j==i&&n%i==0){a[k]=i;k++;

}

}

 

i=0;

int c=0,cnt=0,l=0,b[10];

do{

 if(n%a[i]!=0){i++;c=1;

 }

 if(n%a[i]==0) {n=n/a[i];

 if(c==1){b[l]=cnt;cnt=0;l++;c=0;

 }

 if(c==0) {cnt++;

 }

 }

}while(n!=1);

b[l]=cnt;l++;

for(i=0;i<l;i++)

{printf("%d %d\n",a[i],b[i]);

}

return 0;

}