33 lines
21 KiB
Haskell
33 lines
21 KiB
Haskell
|
|
||
|
list :: [Integer]
|
||
|
list = [118,121,123, 125, 134, 132, 137, 135, 136, 137, 138, 139, 163, 170, 171, 159, 161, 162, 156, 155, 151, 168, 172, 166, 159, 180, 187, 172, 161, 162, 161, 183, 182, 185, 175, 173, 174, 177, 192, 191, 190, 219, 225, 226, 216, 226, 230, 234, 236, 244, 235, 245, 266, 299, 300, 281, 291, 309, 303, 333, 332, 309, 312, 313, 314, 315, 339, 351, 353, 352, 338, 343, 337, 346, 338, 335, 332, 329, 345, 347, 332, 339, 354, 373, 376, 397, 400, 401, 433, 434, 440, 434, 438, 443, 448, 452, 456, 450, 459, 463, 464, 488, 492, 488, 506, 507, 516, 523, 524, 522, 546, 551, 553, 554, 553, 562, 559, 567, 569, 556, 557, 577, 581, 582, 591, 593, 594, 595, 598, 602, 611, 623, 604, 613, 603, 607, 612, 616, 612, 613, 612, 598, 607, 622, 619, 636, 638, 639, 637, 659, 657, 677, 678, 679, 655, 651, 655, 654, 662, 666, 672, 673, 676, 683, 684, 693, 688, 691, 698, 702, 704, 706, 707, 710, 709, 725, 731, 729, 767, 779, 780, 807, 806, 808, 815, 812, 811, 819, 820, 821, 822, 826, 812, 810, 820, 817, 803, 808, 826, 831, 837, 842, 839, 840, 827, 838, 840, 841, 842, 848, 841, 838, 839, 838, 839, 841, 821, 812, 813, 796, 817, 820, 845, 854, 857, 858, 866, 869, 870, 881, 882, 888, 889, 891, 886, 891, 901, 930, 940, 944, 943, 958, 952, 916, 903, 905, 907, 910, 915, 907, 906, 907, 919, 921, 923, 925, 924, 929, 931, 936, 937, 935, 953, 962, 968, 980, 981, 1003, 1005, 1006, 1011, 1013, 1014, 1015, 1016, 1015, 995, 1002, 1018, 1020, 1031, 1043, 1038, 1039, 1040, 1041, 1043, 1037, 1041, 1050, 1052, 1048, 1049, 1050, 1053, 1057, 1064, 1067, 1068, 1078, 1086, 1098, 1103, 1119, 1138, 1114, 1115, 1129, 1130, 1143, 1138, 1141, 1150, 1153, 1146, 1155, 1157, 1145, 1146, 1147, 1145, 1144, 1158, 1163, 1167, 1171, 1174, 1176, 1188, 1207, 1205, 1208, 1212, 1216, 1222, 1231, 1233, 1249, 1253, 1269, 1231, 1235, 1242, 1241, 1246, 1247, 1263, 1266, 1259, 1260, 1279, 1280, 1281, 1285, 1284, 1285, 1296, 1300, 1302, 1319, 1312, 1313, 1325, 1342, 1344, 1361, 1349, 1363, 1367, 1366, 1346, 1347, 1369, 1385, 1386, 1397, 1401, 1402, 1396, 1397, 1400, 1395, 1400, 1411, 1419, 1427, 1446, 1445, 1459, 1460, 1464, 1472, 1482, 1474, 1475, 1476, 1481, 1484, 1487, 1494, 1497, 1494, 1495, 1498, 1501, 1511, 1521, 1528, 1533, 1535, 1544, 1518, 1521, 1509, 1533, 1537, 1540, 1545, 1546, 1544, 1564, 1553, 1576, 1577, 1563, 1560, 1564, 1569, 1570, 1571, 1573, 1576, 1573, 1596, 1597, 1593, 1597, 1596, 1592, 1597, 1578, 1555, 1576, 1584, 1585, 1584, 1594, 1598, 1608, 1613, 1614, 1606, 1608, 1621, 1648, 1614, 1615, 1606, 1609, 1610, 1625, 1638, 1640, 1617, 1655, 1661, 1644, 1648, 1649, 1653, 1675, 1674, 1681, 1679, 1682, 1683, 1695, 1696, 1699, 1700, 1701, 1704, 1709, 1729, 1732, 1739, 1742, 1746, 1748, 1746, 1753, 1744, 1752, 1749, 1750, 1758, 1762, 1767, 1771, 1772, 1761, 1763, 1784, 1804, 1809, 1792, 1787, 1806, 1809, 1815, 1817, 1828, 1821, 1824, 1823, 1824, 1841, 1840, 1833, 1840, 1842, 1863, 1862, 1865, 1866, 1868, 1878, 1887, 1897, 1905, 1906, 1913, 1908, 1915, 1930, 1928, 1922, 1925, 1927, 1928, 1939, 1938, 1946, 1947, 1954, 1955, 1959, 1961, 1951, 1945, 1949, 1954, 1959, 1961, 1962, 1964, 1960, 1956, 1958, 1975, 1990, 1994, 2002, 2004, 2011, 2010, 2020, 2042, 2043, 2046, 2047, 2044, 2048, 2065, 2074, 2075, 2086, 2088, 2094, 2098, 2092, 2083, 2082, 2084, 2094, 2097, 2099, 2098, 2101, 2104, 2112, 2118, 2105, 2108, 2109, 2104, 2105, 2103, 2114, 2144, 2138, 2139, 2142, 2114, 2120, 2139, 2147, 2153, 2190, 2191, 2197, 2193, 2206, 2216, 2225, 2230, 2232, 2258, 2264, 2236, 2264, 2289, 2306, 2307, 2315, 2319, 2322, 2277, 2279, 2271, 2279, 2285, 2290, 2297, 2316, 2317, 2320, 2329, 2330, 2323, 2326, 2327, 2331, 2336, 2341, 2348, 2352, 2386, 2396, 2401, 2400, 2401, 2418, 2419, 2429, 2432, 2430, 2428, 2406, 2401, 2434, 2435, 2443, 2463, 2478, 2479, 2481, 2482, 2486, 2490, 2491, 2492, 2496, 2497, 2499, 2507, 2525, 2522, 2523, 2522, 2521, 2526, 2531, 2530, 2525, 2526, 2537, 2533, 2534, 2542, 2544, 2531, 2539, 2546, 2550, 2551, 2553, 2554, 2552, 2562, 2566, 2551, 2583, 2587, 2601, 2605, 2604, 2610, 2628, 2639, 2641, 2654, 2657, 2676, 2672, 2686, 2694, 2677, 2693, 2694, 2707, 2696, 2710, 2753, 2752, 2722, 2
|
||
|
|
||
|
triples (x:y:z:rest) = sum : triples (y:z:rest)
|
||
|
where sum = x + y + z
|
||
|
|
||
|
triples [] = []
|
||
|
triples [_] = []
|
||
|
triples [_ , _] = []
|
||
|
|
||
|
count [] = 0
|
||
|
count [x] = 0
|
||
|
count (x:y:rest)
|
||
|
| x < y = 1 + tailCount
|
||
|
| otherwise = tailCount
|
||
|
where tailCount = count (y: rest)
|
||
|
|
||
|
|
||
|
|
||
|
{-
|
||
|
|
||
|
>>> list
|
||
|
[118,121,123,125,134,132,137,135,136,137,138,139,163,170,171,159,161,162,156,155,151,168,172,166,159,180,187,172,161,162,161,183,182,185,175,173,174,177,192,191,190,219,225,226,216,226,230,234,236,244,235,245,266,299,300,281,291,309,303,333,332,309,312,313,314,315,339,351,353,352,338,343,337,346,338,335,332,329,345,347,332,339,354,373,376,397,400,401,433,434,440,434,438,443,448,452,456,450,459,463,464,488,492,488,506,507,516,523,524,522,546,551,553,554,553,562,559,567,569,556,557,577,581,582,591,593,594,595,598,602,611,623,604,613,603,607,612,616,612,613,612,598,607,622,619,636,638,639,637,659,657,677,678,679,655,651,655,654,662,666,672,673,676,683,684,693,688,691,698,702,704,706,707,710,709,725,731,729,767,779,780,807,806,808,815,812,811,819,820,821,822,826,812,810,820,817,803,808,826,831,837,842,839,840,827,838,840,841,842,848,841,838,839,838,839,841,821,812,813,796,817,820,845,854,857,858,866,869,870,881,882,888,889,891,886,891,901,930,940,944,943,958,952,916,903,905,907,910,915,907,906,907,919,921,923,925,924,929,931,936,937,935,953,962,968,980,981,1003,1005,1006,1011,1013,1014,1015,1016,1015,995,1002,1018,1020,1031,1043,1038,1039,1040,1041,1043,1037,1041,1050,1052,1048,1049,1050,1053,1057,1064,1067,1068,1078,1086,1098,1103,1119,1138,1114,1115,1129,1130,1143,1138,1141,1150,1153,1146,1155,1157,1145,1146,1147,1145,1144,1158,1163,1167,1171,1174,1176,1188,1207,1205,1208,1212,1216,1222,1231,1233,1249,1253,1269,1231,1235,1242,1241,1246,1247,1263,1266,1259,1260,1279,1280,1281,1285,1284,1285,1296,1300,1302,1319,1312,1313,1325,1342,1344,1361,1349,1363,1367,1366,1346,1347,1369,1385,1386,1397,1401,1402,1396,1397,1400,1395,1400,1411,1419,1427,1446,1445,1459,1460,1464,1472,1482,1474,1475,1476,1481,1484,1487,1494,1497,1494,1495,1498,1501,1511,1521,1528,1533,1535,1544,1518,1521,1509,1533,1537,1540,1545,1546,1544,1564,1553,1576,1577,1563,1560,1564,1569,1570,1571,1573,1576,1573,1596,1597,1593,1597,1596,1592,1597,1578,1555,1576,1584,1585,1584,1594,1598,1608,1613,1614,1606,1608,1621,1648,1614,1615,1606,1609,1610,1625,1638,1640,1617,1655,1661,1644,1648,1649,1653,1675,1674,1681,1679,1682,1683,1695,1696,1699,1700,1701,1704,1709,1729,1732,1739,1742,1746,1748,1746,1753,1744,1752,1749,1750,1758,1762,1767,1771,1772,1761,1763,1784,1804,1809,1792,1787,1806,1809,1815,1817,1828,1821,1824,1823,1824,1841,1840,1833,1840,1842,1863,1862,1865,1866,1868,1878,1887,1897,1905,1906,1913,1908,1915,1930,1928,1922,1925,1927,1928,1939,1938,1946,1947,1954,1955,1959,1961,1951,1945,1949,1954,1959,1961,1962,1964,1960,1956,1958,1975,1990,1994,2002,2004,2011,2010,2020,2042,2043,2046,2047,2044,2048,2065,2074,2075,2086,2088,2094,2098,2092,2083,2082,2084,2094,2097,2099,2098,2101,2104,2112,2118,2105,2108,2109,2104,2105,2103,2114,2144,2138,2139,2142,2114,2120,2139,2147,2153,2190,2191,2197,2193,2206,2216,2225,2230,2232,2258,2264,2236,2264,2289,2306,2307,2315,2319,2322,2277,2279,2271,2279,2285,2290,2297,2316,2317,2320,2329,2330,2323,2326,2327,2331,2336,2341,2348,2352,2386,2396,2401,2400,2401,2418,2419,2429,2432,2430,2428,2406,2401,2434,2435,2443,2463,2478,2479,2481,2482,2486,2490,2491,2492,2496,2497,2499,2507,2525,2522,2523,2522,2521,2526,2531,2530,2525,2526,2537,2533,2534,2542,2544,2531,2539,2546,2550,2551,2553,2554,2552,2562,2566,2551,2583,2587,2601,2605,2604,2610,2628,2639,2641,2654,2657,2676,2672,2686,2694,2677,2693,2694,2707,2696,2710,2753,2752,2722,2723,2724,2741,2746,2753,2763,2764,2805,2806,2810,2811,2823,2854,2855,2852,2872,2873,2867,2876,2881,2885,2899,2900,2901,2903,2918,2912,2924,2915,2920,2932,2942,2943,2934,2953,2960,2956,2957,2959,2982,2991,3016,3018,3047,3032,3048,3051,3056,3063,3064,3063,3065,3066,3070,3075,3069,3075,3073,3074,3083,3086,3097,3093,3082,3077,3098,3105,3128,3144,3148,3174,3173,3172,3171,3169,3176,3180,3166,3165,3182,3183,3206,3207,3208,3211,3215,3214,3220,3233,3234,3248,3249,3252,3253,3254,3256,3258,3266,3265,3266,3274,3291,3275,3291,3294,3299,3292,3293,3306,3292,3291,3290,3291,3295,3296,3288,3294,3305,3308,3315,3319,3327,3332,3334,3332,3342,3346,3347,3348,3360,3370,3371,3373,3379,3387,3386,3389,3393,3398,3405,3406,3413,3417,3431,3433,3434,34
|
||
|
|
||
|
>>> count $ triples list
|
||
|
1597
|
||
|
|
||
|
>>> count list
|
||
|
1553
|
||
|
|
||
|
-}
|