#include<stdio.h> #include<math.h> int isprime(int x) { int i; int flag=1; if(x==1||x==0) { flag = 0; } else if(x==2) { flag = 1; } else { for(i=2;i<=sqrt(x);++i) { if(x%i==0) flag = 0; break; } } return flag; } int main() { int x,j=0,k=0; int a[10000],b[100]; int multi = 1; scanf("%d",&x); int n = x; int i,m=0; int f,temp; for(i=2;i<=x;++i) { if( isprime(i) && x%i==0 ) { a[j++] = i;//Çó³öxËùÓÐËØÊýÒò×Ó } } /* while(a[k]!='\0') { printf("%d ",a[k]); ++k; }*/ for(k=0;a[k]!='\0';++k) { while(x%a[k]==0&&x>=a[k]) { x/=a[k]; //printf("%d \n",a[k]); temp=a[k]; b[m] = temp; m++; } } printf("%d=",n); for(m=0;b[m]!='\0';++m) { if(b[m+1]!='\0') printf("%d*",b[m]); else if(b[m+1] == '\0') printf("%d",b[m]); } return 0; } |
Double click to view unformatted code.