Guest User

Untitled

a guest
May 11th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. static int
  5. is_adecous(unsigned long long v)
  6. {
  7.     unsigned __int128 x = v;
  8.     while (x != 1 && x != 10) {
  9.         if (x & 1) {
  10.             unsigned __int128 n = x * 3 + 1;
  11.             if (n < x)
  12.                 abort();
  13.             x = n;
  14.         } else {
  15.             x = x / 2;
  16.         }
  17.     }
  18.     return x != 10;
  19. }
  20.  
  21. int
  22. main(void)
  23. {
  24.     static unsigned long long runs[1UL << 16] = {
  25.         [1] = 8,
  26.         [2] = 1,
  27.         [3] = 300,
  28.         [4] = 1610,
  29.         [5] = 802,
  30.         [6] = 5729,
  31.         [7] = 10132,
  32.         [8] = 18104,
  33.         [9] = 64368,
  34.         [10] = 15276,
  35.         [11] = 20368,
  36.         [12] = 27156,
  37.         [13] = 56946,
  38.         [14] = 40744,
  39.         [15] = 85424,
  40.         [16] = 36208,
  41.         [17] = 228874,
  42.         [18] = 2130924,
  43.         [19] = 203436,
  44.         [20] = 482219,
  45.         [21] = 305162,
  46.         [22] = 1516682,
  47.         [23] = 1201439,
  48.         [24] = 1280001,
  49.         [25] = 5392672,
  50.         [26] = 1601921,
  51.         [27] = 8543616,
  52.         [28] = 15188651,
  53.         [29] = 11362306,
  54.         [30] = 5419009,
  55.         [31] = 4261852,
  56.         [32] = 3033376,
  57.         [33] = 16181768,
  58.         [34] = 23999660,
  59.         [35] = 40962561,
  60.         [36] = 28767680,
  61.         [37] = 45459140,
  62.         [38] = 26938736,
  63.         [39] = 30306080,
  64.         [40] = 40408918,
  65.         [41] = 34171400,
  66.         [42] = 111999962,
  67.         [43] = 53878356,
  68.         [44] = 38356908,
  69.         [45] = 90914362,
  70.         [46] = 113521498,
  71.         [47] = 31999546,
  72.         [48] = 80998911,
  73.         [49] = 107757128,
  74.         [50] = 98215708,
  75.         [51] = 136371560,
  76.         [52] = 71999032,
  77.         [53] = 157313255,
  78.         [54] = 149333282,
  79.         [55] = 68188711,
  80.         [56] = 170282248,
  81.         [57] = 191567536,
  82.         [58] = 461207480,
  83.         [59] = 189898523,
  84.         [60] = 176987592,
  85.         [61] = 128326538,
  86.         [62] = 199111042,
  87.         [63] = 201815996,
  88.         [64] = 265481416,
  89.         [65] = 559336120,
  90.         [66] = 474210844,
  91.         [67] = 331458422,
  92.         [68] = 226858932,
  93.         [69] = 1117557306,
  94.         [70] = 248608086,
  95.         [71] = 227042996,
  96.         [72] = 318937428,
  97.         [73] = 994432342,
  98.         [74] = 441969978,
  99.         [75] = 398222128,
  100.         [76] = 345231920,
  101.         [77] = 441944577,
  102.         [78] = 298666594,
  103.         [79] = 1103678823,
  104.         [80] = 1021527504,
  105.         [81] = 745824257,
  106.         [82] = 1194597772,
  107.         [83] = 745781800,
  108.         [84] = 497187650,
  109.         [85] = 1241638580,
  110.         [86] = 228136074,
  111.         [87] = 672126719,
  112.         [88] = 1076352168,
  113.         [89] = 883889200,
  114.         [90] = 551840257,
  115.         [91] = 994432532,
  116.         [92] = 1180122304,
  117.         [93] = 340564508,
  118.         [94] = 314644608,
  119.         [95] = 745781500,
  120.         [96] = 981049376,
  121.         [97] = 2237345096,
  122.         [98] = 1178586476,
  123.         [99] = 1343923080,
  124.         [100] = 1573496412,
  125.         [101] = 3793010914,
  126.         [102] = 1655518106,
  127.         [103] = 2133948418,
  128.         [104] = 1571448833,
  129.         [105] = 605448064,
  130.         [106] = 1325909935,
  131.         [107] = 353975184,
  132.         [108] = 1491648688,
  133.         [109] = 1655518244,
  134.         [110] = 1862457874,
  135.         [111] = 785724417,
  136.         [112] = 662954968,
  137.         [113] = 3775736048,
  138.         [114] = 4909563390,
  139.         [115] = 5765830984,
  140.         [116] = 3188201992,
  141.         [117] = 5663356271,
  142.         [118] = 1118672252,
  143.         [119] = 1862458027,
  144.         [120] = 735787009,
  145.         [121] = 4134127527,
  146.         [122] = 1678009116,
  147.         [123] = 1988750700,
  148.         [124] = 4775806752,
  149.         [125] = 4495420290,
  150.         [126] = 7449403905,
  151.         [127] = 1396763137,
  152.         [128] = 2357173276,
  153.         [129] = 1962095696,
  154.         [130] = 7848382332,
  155.         [131] = 8949892892,
  156.         [132] = 1988873980,
  157.         [133] = 2095265250,
  158.         [134] = 1178518906,
  159.         [135] = 807264084,
  160.         [136] = 2483277159,
  161.         [137] = 3142897736,
  162.         [138] = 2237473199,
  163.         [139] = 2095265110,
  164.         [140] = 5512170036,
  165.         [141] = 8380579612,
  166.         [142] = 10372746600,
  167.         [143] = 1767778400,
  168.         [144] = 5966254081,
  169.         [145] = 2207357658,
  170.         [146] = 5057347882,
  171.         [147] = 4714075756,
  172.         [148] = 3488169834,
  173.         [149] = 2357037866,
  174.         [150] = 1047572330,
  175.         [151] = 11174105576,
  176.         [152] = 1988864908,
  177.         [153] = 1047632555,
  178.         [155] = 4714346944,
  179.         [156] = 11772574207,
  180.         [157] = 3924191074,
  181.         [158] = 5232255296,
  182.         [161] = 4474946426,
  183.         [162] = 2483277366,
  184.         [163] = 3311036492,
  185.         [164] = 1571358556,
  186.         [167] = 7955006506,
  187.         [168] = 11048447318,
  188.         [169] = 11174105856,
  189.         [172] = 2983126058,
  190.         [173] = 5303335226,
  191.         [174] = 9980322864,
  192.         [175] = 3142897900,
  193.         [179] = 5886287208,
  194.         [183] = 9428693700,
  195.         [184] = 2943143552,
  196.         [186] = 4190289692,
  197.         [190] = 8268255106,
  198.         [191] = 11174106146,
  199.         [192] = 9932538176,
  200.         [193] = 2357173407,
  201.         [196] = 4650893112,
  202.         [199] = 3142717154,
  203.         [201] = 5587052720,
  204.         [208] = 2793526320,
  205.         [212] = 9933108968,
  206.         [214] = 6622072572,
  207.         [215] = 2651667600,
  208.         [219] = 3535556800,
  209.         [221] = 3977501420,
  210.         [223] = 9933109664,
  211.         [227] = 6285795800,
  212.         [229] = 6285434308,
  213.         [233] = 7449832192,
  214.         [235] = 2095144704,
  215.         [238] = 3724916054,
  216.         [245] = 4966554738,
  217.         [259] = 10464510620,
  218.         [262] = 7449403632,
  219.         [265] = 11772574448,
  220.         [266] = 4190530500,
  221.         [278] = 4414715328,
  222.         [302] = 8380579080,
  223.         [310] = 6622073000
  224.     };
  225.  
  226.     for (size_t i = 0; i < sizeof(runs) / sizeof(*runs); i++)
  227.         if (runs[i])
  228.             printf("%zu %llu\n", i, runs[i]);
  229.     fflush(stdout);
  230.  
  231.     int run = 0;
  232.     for (unsigned long long x = 12327829000ULL; ; x++) {
  233.         if (is_adecous(x)) {
  234.             run++;
  235.         } else {
  236.             if (run > 0 && !runs[run]) {
  237.                 runs[run] = x - run;
  238.                 printf("%d %llu\n", run, runs[run]);
  239.                 fflush(stdout);
  240.             }
  241.             run = 0;
  242.         }
  243.     }
  244. }
Add Comment
Please, Sign In to add comment