fork download
  1. #include <stdio.h>
  2.  
  3. int seek(int v) {
  4. int c = 0;
  5. int i;
  6. while (v % 2 == 0) {
  7. v /= 2;
  8. c++;
  9. }
  10. for (i = 3; i <= v; i += 2) {
  11. while (v % i == 0) {
  12. v /= i;
  13. c++;
  14. }
  15. }
  16. return c;
  17. }
  18.  
  19. void print(int v) {
  20. char sp[] = "";
  21. char op[] = "*";
  22. char *str = sp;
  23. int i;
  24. printf("%d =", v);
  25. while (v % 2 == 0) {
  26. v /= 2;
  27. printf("%s 2 ", str);
  28. str = op;
  29. }
  30. for (i = 3; i <= v; i += 2) {
  31. while (v % i == 0) {
  32. v /= i;
  33. printf("%s %d ", str, i);
  34. str = op;
  35. }
  36. }
  37. putchar('\n');
  38. }
  39.  
  40.  
  41. int main(void) {
  42.  
  43. int f[10001];
  44. int max = 0;
  45. int i;
  46.  
  47. for (i = 2; i <= 10000; i++) {
  48. f[i] = seek(i);
  49. if (f[i] > max) {
  50. max = f[i];
  51. }
  52. }
  53.  
  54. for (i = 2; i <= 10000; i++) {
  55. if (f[i] == max) {
  56. print(i);
  57. }
  58. }
  59. printf("max: %d", max);
  60.  
  61. return 0;
  62. }
  63.  
Success #stdin #stdout 0.09s 2248KB
stdin
Standard input is empty
stdout
8192 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 
max: 13