fork(1) download
  1. #include <stdio.h>
  2.  
  3. #define max 4294967295
  4. unsigned long int collatz(unsigned long int n, unsigned long int passos, float *maiorN) {
  5. printf("Passo %lu: %lu. Maior = %f\n", passos, n, *maiorN);
  6. float overflow = 3 * n + 1;
  7.  
  8. if (n == 1)
  9. return passos;
  10. else if (n % 2 == 0)
  11. return collatz(n / 2, passos + 1, maiorN);
  12. else if ((overflow) < max) {
  13. if (overflow > *maiorN)
  14. *maiorN = overflow;
  15. return collatz(overflow, passos + 1, maiorN);
  16. }
  17. else
  18. return -1;
  19. }
  20.  
  21. int main(void) {
  22. float maior = 0;
  23. collatz(1161, 0, &maior);
  24. printf("Maior: %d\n", (int) maior);
  25. return 0;
  26. }
  27.  
Success #stdin #stdout 0s 4568KB
stdin
Standard input is empty
stdout
Passo 0: 1161. Maior = 0.000000
Passo 1: 3484. Maior = 3484.000000
Passo 2: 1742. Maior = 3484.000000
Passo 3: 871. Maior = 3484.000000
Passo 4: 2614. Maior = 3484.000000
Passo 5: 1307. Maior = 3484.000000
Passo 6: 3922. Maior = 3922.000000
Passo 7: 1961. Maior = 3922.000000
Passo 8: 5884. Maior = 5884.000000
Passo 9: 2942. Maior = 5884.000000
Passo 10: 1471. Maior = 5884.000000
Passo 11: 4414. Maior = 5884.000000
Passo 12: 2207. Maior = 5884.000000
Passo 13: 6622. Maior = 6622.000000
Passo 14: 3311. Maior = 6622.000000
Passo 15: 9934. Maior = 9934.000000
Passo 16: 4967. Maior = 9934.000000
Passo 17: 14902. Maior = 14902.000000
Passo 18: 7451. Maior = 14902.000000
Passo 19: 22354. Maior = 22354.000000
Passo 20: 11177. Maior = 22354.000000
Passo 21: 33532. Maior = 33532.000000
Passo 22: 16766. Maior = 33532.000000
Passo 23: 8383. Maior = 33532.000000
Passo 24: 25150. Maior = 33532.000000
Passo 25: 12575. Maior = 33532.000000
Passo 26: 37726. Maior = 37726.000000
Passo 27: 18863. Maior = 37726.000000
Passo 28: 56590. Maior = 56590.000000
Passo 29: 28295. Maior = 56590.000000
Passo 30: 84886. Maior = 84886.000000
Passo 31: 42443. Maior = 84886.000000
Passo 32: 127330. Maior = 127330.000000
Passo 33: 63665. Maior = 127330.000000
Passo 34: 190996. Maior = 190996.000000
Passo 35: 95498. Maior = 190996.000000
Passo 36: 47749. Maior = 190996.000000
Passo 37: 143248. Maior = 190996.000000
Passo 38: 71624. Maior = 190996.000000
Passo 39: 35812. Maior = 190996.000000
Passo 40: 17906. Maior = 190996.000000
Passo 41: 8953. Maior = 190996.000000
Passo 42: 26860. Maior = 190996.000000
Passo 43: 13430. Maior = 190996.000000
Passo 44: 6715. Maior = 190996.000000
Passo 45: 20146. Maior = 190996.000000
Passo 46: 10073. Maior = 190996.000000
Passo 47: 30220. Maior = 190996.000000
Passo 48: 15110. Maior = 190996.000000
Passo 49: 7555. Maior = 190996.000000
Passo 50: 22666. Maior = 190996.000000
Passo 51: 11333. Maior = 190996.000000
Passo 52: 34000. Maior = 190996.000000
Passo 53: 17000. Maior = 190996.000000
Passo 54: 8500. Maior = 190996.000000
Passo 55: 4250. Maior = 190996.000000
Passo 56: 2125. Maior = 190996.000000
Passo 57: 6376. Maior = 190996.000000
Passo 58: 3188. Maior = 190996.000000
Passo 59: 1594. Maior = 190996.000000
Passo 60: 797. Maior = 190996.000000
Passo 61: 2392. Maior = 190996.000000
Passo 62: 1196. Maior = 190996.000000
Passo 63: 598. Maior = 190996.000000
Passo 64: 299. Maior = 190996.000000
Passo 65: 898. Maior = 190996.000000
Passo 66: 449. Maior = 190996.000000
Passo 67: 1348. Maior = 190996.000000
Passo 68: 674. Maior = 190996.000000
Passo 69: 337. Maior = 190996.000000
Passo 70: 1012. Maior = 190996.000000
Passo 71: 506. Maior = 190996.000000
Passo 72: 253. Maior = 190996.000000
Passo 73: 760. Maior = 190996.000000
Passo 74: 380. Maior = 190996.000000
Passo 75: 190. Maior = 190996.000000
Passo 76: 95. Maior = 190996.000000
Passo 77: 286. Maior = 190996.000000
Passo 78: 143. Maior = 190996.000000
Passo 79: 430. Maior = 190996.000000
Passo 80: 215. Maior = 190996.000000
Passo 81: 646. Maior = 190996.000000
Passo 82: 323. Maior = 190996.000000
Passo 83: 970. Maior = 190996.000000
Passo 84: 485. Maior = 190996.000000
Passo 85: 1456. Maior = 190996.000000
Passo 86: 728. Maior = 190996.000000
Passo 87: 364. Maior = 190996.000000
Passo 88: 182. Maior = 190996.000000
Passo 89: 91. Maior = 190996.000000
Passo 90: 274. Maior = 190996.000000
Passo 91: 137. Maior = 190996.000000
Passo 92: 412. Maior = 190996.000000
Passo 93: 206. Maior = 190996.000000
Passo 94: 103. Maior = 190996.000000
Passo 95: 310. Maior = 190996.000000
Passo 96: 155. Maior = 190996.000000
Passo 97: 466. Maior = 190996.000000
Passo 98: 233. Maior = 190996.000000
Passo 99: 700. Maior = 190996.000000
Passo 100: 350. Maior = 190996.000000
Passo 101: 175. Maior = 190996.000000
Passo 102: 526. Maior = 190996.000000
Passo 103: 263. Maior = 190996.000000
Passo 104: 790. Maior = 190996.000000
Passo 105: 395. Maior = 190996.000000
Passo 106: 1186. Maior = 190996.000000
Passo 107: 593. Maior = 190996.000000
Passo 108: 1780. Maior = 190996.000000
Passo 109: 890. Maior = 190996.000000
Passo 110: 445. Maior = 190996.000000
Passo 111: 1336. Maior = 190996.000000
Passo 112: 668. Maior = 190996.000000
Passo 113: 334. Maior = 190996.000000
Passo 114: 167. Maior = 190996.000000
Passo 115: 502. Maior = 190996.000000
Passo 116: 251. Maior = 190996.000000
Passo 117: 754. Maior = 190996.000000
Passo 118: 377. Maior = 190996.000000
Passo 119: 1132. Maior = 190996.000000
Passo 120: 566. Maior = 190996.000000
Passo 121: 283. Maior = 190996.000000
Passo 122: 850. Maior = 190996.000000
Passo 123: 425. Maior = 190996.000000
Passo 124: 1276. Maior = 190996.000000
Passo 125: 638. Maior = 190996.000000
Passo 126: 319. Maior = 190996.000000
Passo 127: 958. Maior = 190996.000000
Passo 128: 479. Maior = 190996.000000
Passo 129: 1438. Maior = 190996.000000
Passo 130: 719. Maior = 190996.000000
Passo 131: 2158. Maior = 190996.000000
Passo 132: 1079. Maior = 190996.000000
Passo 133: 3238. Maior = 190996.000000
Passo 134: 1619. Maior = 190996.000000
Passo 135: 4858. Maior = 190996.000000
Passo 136: 2429. Maior = 190996.000000
Passo 137: 7288. Maior = 190996.000000
Passo 138: 3644. Maior = 190996.000000
Passo 139: 1822. Maior = 190996.000000
Passo 140: 911. Maior = 190996.000000
Passo 141: 2734. Maior = 190996.000000
Passo 142: 1367. Maior = 190996.000000
Passo 143: 4102. Maior = 190996.000000
Passo 144: 2051. Maior = 190996.000000
Passo 145: 6154. Maior = 190996.000000
Passo 146: 3077. Maior = 190996.000000
Passo 147: 9232. Maior = 190996.000000
Passo 148: 4616. Maior = 190996.000000
Passo 149: 2308. Maior = 190996.000000
Passo 150: 1154. Maior = 190996.000000
Passo 151: 577. Maior = 190996.000000
Passo 152: 1732. Maior = 190996.000000
Passo 153: 866. Maior = 190996.000000
Passo 154: 433. Maior = 190996.000000
Passo 155: 1300. Maior = 190996.000000
Passo 156: 650. Maior = 190996.000000
Passo 157: 325. Maior = 190996.000000
Passo 158: 976. Maior = 190996.000000
Passo 159: 488. Maior = 190996.000000
Passo 160: 244. Maior = 190996.000000
Passo 161: 122. Maior = 190996.000000
Passo 162: 61. Maior = 190996.000000
Passo 163: 184. Maior = 190996.000000
Passo 164: 92. Maior = 190996.000000
Passo 165: 46. Maior = 190996.000000
Passo 166: 23. Maior = 190996.000000
Passo 167: 70. Maior = 190996.000000
Passo 168: 35. Maior = 190996.000000
Passo 169: 106. Maior = 190996.000000
Passo 170: 53. Maior = 190996.000000
Passo 171: 160. Maior = 190996.000000
Passo 172: 80. Maior = 190996.000000
Passo 173: 40. Maior = 190996.000000
Passo 174: 20. Maior = 190996.000000
Passo 175: 10. Maior = 190996.000000
Passo 176: 5. Maior = 190996.000000
Passo 177: 16. Maior = 190996.000000
Passo 178: 8. Maior = 190996.000000
Passo 179: 4. Maior = 190996.000000
Passo 180: 2. Maior = 190996.000000
Passo 181: 1. Maior = 190996.000000
Maior: 190996