Skip to content

Instantly share code, notes, and snippets.

@dbalatero
Forked from robhanlon22/gist:2883467
Created June 6, 2012 17:40
Show Gist options
  • Save dbalatero/2883488 to your computer and use it in GitHub Desktop.
Save dbalatero/2883488 to your computer and use it in GitHub Desktop.
u = ->(m) do
y = ->(*a, &b) { y = ->(*a) { b.(*a, &y) } }
r = ->(n, f) do
i, g = f.()
i <= n ? [i] + r.(n, g) : []
end
r.(m, y.() { |i, j, &b| -> { [j, b.(j, i + j)] } }.(1, 1))
end
p u.([8877, 5745, 2197, 9747, 2655, 6562, 1145, 1515, 4690, 5310, 8363, 8935, 1921, 4448, 8459, 5251, 7226, 6751, 1955, 530, 2471, 2871, 3177, 1396, 600, 8657, 9474, 1642, 2240, 7909, 3739, 6901, 1563, 2455, 3180, 7271, 5704, 7731, 8626, 5616, 6370, 4679, 1631, 4616, 3411, 4452, 8777, 207, 3421, 5082, 8634, 8251, 6475, 7830, 3941, 8620, 2372, 3334, 5954, 4462, 5132, 3643, 6109, 8952, 9914, 1006, 8947, 836, 9845, 4667, 2693, 8322, 6297, 8324, 1085, 2993, 4147, 8515, 5073, 8068, 7197, 2690, 6935, 9880, 4506, 7970, 3527, 4355, 5941, 9707, 4029, 5607, 5126, 2917, 6162, 6162, 5465, 983, 6623, 7063, 7158, 5496, 5978, 3911, 554, 9835, 4534, 5031, 320, 5230, 1661, 7720, 5540, 2172, 305, 7142, 7611, 1474, 1380, 4076, 8030, 5428, 8510, 8039, 6535, 8081, 8471, 7340, 9560, 1973, 7905, 5057, 4037, 7919, 6297, 7839, 1646, 7702, 3432, 440, 928, 3647, 679, 8796, 5983, 8937, 5018, 9935, 8586, 1205, 3933, 3159, 9551, 5626, 3735, 1643, 619, 6274, 2365, 222, 7288, 5753, 1726, 3377, 1981, 7136, 9548, 2405, 127, 2814, 5941, 2713, 5636, 6300, 7655, 336, 4745, 6979, 8854, 8565, 2921, 3141, 1301, 303, 2732, 5527, 7216, 8134, 4538, 5174, 9299, 3779, 9036, 4150, 1837, 8277, 2224, 3882, 9224, 406, 395, 3740, 9900, 476, 8948, 7762, 4891, 9917, 4562, 9687, 7919, 1302, 8034, 1378, 9529, 7055, 2293, 1590, 7066, 4938, 296, 6044, 4977, 8476, 8102, 6428, 6496, 689, 4834, 791, 307, 2447, 1392, 8038, 9200, 7094, 5991, 346, 8468, 8050, 5967, 9170, 686, 1031, 9581, 6659, 2487, 4371, 4497, 2660, 6422, 410, 3792, 5510, 5036, 842, 6492, 1691, 6564, 739, 7271, 5280, 7163, 6611, 523, 480, 2983, 3297, 1600, 9867, 2145, 7423, 3454, 4979, 9914, 4067, 276, 482, 5123, 6182, 5892, 13, 3709, 92, 5482, 7110, 2386, 5272, 2216, 2832, 3893, 3934, 3194, 1092, 4983, 5436, 6922, 6032, 9952, 9322, 6216, 9340, 2360, 9443, 8520, 6045, 506, 4311, 1720, 6929, 4706, 1616, 9853, 5777, 9648, 2430, 339, 1128, 5061, 3406, 7150, 3820, 3952, 2938, 9109, 2510, 9722, 5559, 6228, 1980, 752, 7784, 3929, 7432, 2134, 3936, 3851, 6838, 7942, 3897, 220, 7619, 7209, 9218, 5427, 9595, 3389, 8413, 3813, 9820, 3024, 4222, 5514, 4615, 542, 1643, 1978, 1274, 1548, 1945, 1215, 6288, 8881, 6590, 3226, 6767, 5691, 2736, 1011, 2489, 83, 371, 8525, 8519, 7580, 8004, 3859, 9742, 4133, 2722, 6698, 6801, 5806, 2360, 9934, 7513, 1721, 5769, 5074, 9971, 4017, 676, 806, 7679, 1739, 7508, 8735, 9151, 9870, 1370, 3266, 5343, 2635, 7988, 4672, 1627, 8314, 3323, 1211, 6760, 2248, 9443, 7721, 3491, 3190, 6344, 7359, 3448, 7633, 6313, 9542, 7669, 2141, 4697, 1503, 9767, 1417, 7977, 5117, 3409, 3484, 4896, 3903, 855, 5293, 8367, 7736, 695, 4937, 4703, 6519, 8517, 4805, 1986, 2193, 291, 8855, 5013, 564, 6606, 2879, 2742, 3946, 4231, 4531, 3008, 5947, 5812, 883, 6260, 6961, 3655, 4613, 5901, 6820, 5433, 3125, 3415, 9980, 253, 1447, 1354, 1113, 7348, 4432, 8971, 2762, 8339, 5149, 3578, 2580, 8852, 692, 440, 4466, 3129, 5675, 2806, 8407, 1392, 9317, 1118, 2883, 125, 8449, 9425, 6058, 4198, 2740, 6298, 5263, 2221, 6626, 2258, 275, 7950, 4914, 8354, 7307, 9299, 9090, 8750, 9247, 3501, 9789, 4810, 3750, 2538, 3514, 2325, 8042, 3823, 8895, 4177, 5638, 9548, 6953, 7736, 1338, 1330, 7726, 6696, 6188, 5571, 1369, 2035, 2727, 2551, 1041, 2291, 6142, 6190, 6408, 5763, 2356, 3416, 6375, 1102, 1438, 6971, 9014, 2504, 7516, 5088, 1547, 127, 1450, 5206, 9853, 1408, 9469, 8607, 5730, 8812, 908, 7142, 2154, 9062, 1651, 7125, 3299, 7501, 2095, 8515, 4609, 695, 6102, 3423, 7990, 2956, 6441, 9613, 825, 1618, 6523, 2888, 5084, 8356, 9619, 9874, 7983, 4856, 9466, 1909, 2893, 8612, 4816, 2428, 961, 2150, 7647, 7848, 9027, 4965, 5912, 79, 4764, 3780, 5732, 3833, 4537, 3541, 1548, 9420, 8962, 3231, 1987, 7271, 9220, 7930, 5462, 6128, 1735, 405, 8529, 8146, 503, 6708, 2369, 4116, 7891, 6718, 6780, 2399, 1032, 6723, 8535, 8284, 5676, 1344, 5045, 8433, 1395, 3139, 767, 3013, 2744, 6905, 912, 7368, 1790, 2379, 7490, 3413, 3676, 5023, 6511, 1538, 9135, 5756, 3350, 1280, 2151, 5235, 4373, 6985, 2655, 5423, 7950, 2549, 1672, 4089, 8073, 7510, 8954, 9657, 5198, 2423, 7835, 1200, 5468, 5211, 9497, 8323, 7520, 2993, 9887, 5974, 2580, 7007, 2250, 3411, 9815, 5828, 7957, 2512, 809, 5176, 6753, 6737, 902, 8493, 9528, 514, 3419, 9082, 3667, 7403, 2099, 3636, 7365, 9531, 9975, 7376, 6724, 761, 4336, 9735, 8295, 426, 6978, 6711, 7349, 1855, 570, 792, 6266, 5048, 3832, 660, 5349, 2489, 3685, 6377, 2348, 2194, 3833, 5763, 7357, 4397, 6371, 4028, 4656, 9909, 460, 5638, 2521, 4842, 1266, 7442, 4820, 740, 4797, 8271, 7445, 4807, 9222, 720, 712, 6097, 8202, 6993, 7351, 3287, 2308, 788, 2027, 9837, 4157, 3745, 7632, 9206, 7558, 4907, 7215, 6471, 3071, 9491, 1028, 141, 3808, 7267, 198, 8243, 3580, 5563, 2530, 6482, 4124, 1230, 2112, 2741, 1092, 6103, 1262, 9508, 1433, 8139, 9280, 7035, 2043, 9883, 8371].sum).select(&:even?).reduce(0, :+)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment