Skip to content

Instantly share code, notes, and snippets.

@robhanlon22
Forked from dbalatero/gist:2883488
Created June 6, 2012 17:42
Show Gist options
  • Save robhanlon22/2883503 to your computer and use it in GitHub Desktop.
Save robhanlon22/2883503 to your computer and use it in GitHub Desktop.
p ->(n) {
y = ->(*a, &b) { z = ->(*a) { b.(*a, &z) } }
y.() { |f, &b|
i, g = f.()
i <= n ? [i] + b.(g) : []
}.(y.() { |i, j, &b| -> { [j, b.(j, i + j)] } }.(1, 1))
}.([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].
reduce(:+)).
select(&:even?).
reduce(:+)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment