4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
#include <stdio.h> #include <windows.h> int fun22(int * a) { int i, j, m = 0, true_ = 0; for(i = 2; i < 10000; i++) { true_ = 0; for(j = 2; j < i / 2 + 1; j++) { if(i % j == 0) true_ = 1; } if(!true_) a[m++] = i; } return m; } void fun21(void) { int n, m, x, y; int i, j, true_; int a[5000], k, b[10000], kk = 0; scanf("%d%d", &n, &m); k = fun22(a); for(n ; n <= m; n++) { j = n; true_ = 0; for(i = 0; i < k; i++) { if(n == a[i]) { printf("%d=%d\n", n, n); true_ = 1; break; } } if(true_) continue; memset(b, 0, sizeof(b)); kk = 0; i = 0; while (i < k) { x = j / a[i]; true_ = 0; if(j == a[i] * x) { j = x; b[kk++] = a[i]; y = j / a[i]; if(j != 0 && j == y * a[i]) true_ = 1; } if(j == 0 || a[i] > n) break; if(true_) i = 0; else i++; } printf("%d=", n); for(i = 0; i < kk; i++) { if(i == kk - 1) printf("%d", b[i]); else printf("%d*", b[i]);
//printf("%d%c", b[i], n == kk - 1 ? '*': '');
}
if(n < m)
printf("\n");
}
}
int main()
{
system("color 0a");
fun21();
return 0;
}