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