http://acm.nit.net.cn/showproblem.jsp?pid=1015
#include <stdio.h> int fac[2046]; int factor(int); int main() { int a; while(scanf("%d", &a) == 1) { printf("%d=",a); int temp = factor(a); int i; for(i = 0; i < temp-1; i++ ) { printf("%d*",fac[i]); } printf("%d\n", fac[i]); } return 0; } int factor(int num) { int i; int k = 0; for(i=2; i <= num; i++) { if(num % i == 0) { num = num /i ; fac[k++] = i; i--; } } return k; }