fork download
  1. #include <iostream>
  2.  
  3. void f(int n) {
  4. std::cout << n << '=';
  5. int m, c;
  6. bool flag = false;
  7. m = 2; c = 0;
  8. for (; n > 1;) {
  9. while (n % m == 0) {
  10. c++;
  11. n /= m;
  12. }
  13. if (c > 0) {
  14. if (flag) std::cout << '*'; else flag = true;
  15. std::cout << m;
  16. if (c > 1)
  17. std::cout << '^' << c;
  18. }
  19. m++;
  20. c = 0;
  21. }
  22. std::cout << std::endl;
  23. return;
  24. }
  25.  
  26. int main() {
  27. f(28);
  28. f(2002);
  29. f(216653);
  30.  
  31. std::cout << std::endl;
  32.  
  33. for (int n = 2; n <= 100; n++)
  34. f(n);
  35. return 0;
  36. }
  37. /* end */
  38.  
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
28=2^2*7
2002=2*7*11*13
216653=216653

2=2
3=3
4=2^2
5=5
6=2*3
7=7
8=2^3
9=3^2
10=2*5
11=11
12=2^2*3
13=13
14=2*7
15=3*5
16=2^4
17=17
18=2*3^2
19=19
20=2^2*5
21=3*7
22=2*11
23=23
24=2^3*3
25=5^2
26=2*13
27=3^3
28=2^2*7
29=29
30=2*3*5
31=31
32=2^5
33=3*11
34=2*17
35=5*7
36=2^2*3^2
37=37
38=2*19
39=3*13
40=2^3*5
41=41
42=2*3*7
43=43
44=2^2*11
45=3^2*5
46=2*23
47=47
48=2^4*3
49=7^2
50=2*5^2
51=3*17
52=2^2*13
53=53
54=2*3^3
55=5*11
56=2^3*7
57=3*19
58=2*29
59=59
60=2^2*3*5
61=61
62=2*31
63=3^2*7
64=2^6
65=5*13
66=2*3*11
67=67
68=2^2*17
69=3*23
70=2*5*7
71=71
72=2^3*3^2
73=73
74=2*37
75=3*5^2
76=2^2*19
77=7*11
78=2*3*13
79=79
80=2^4*5
81=3^4
82=2*41
83=83
84=2^2*3*7
85=5*17
86=2*43
87=3*29
88=2^3*11
89=89
90=2*3^2*5
91=7*13
92=2^2*23
93=3*31
94=2*47
95=5*19
96=2^5*3
97=97
98=2*7^2
99=3^2*11
100=2^2*5^2