Added Day 7
This commit is contained in:
parent
f4d91d409e
commit
d09ca10452
@ -12,6 +12,8 @@ const d42 = @import("day4/part2.zig");
|
||||
const d51 = @import("day5/part1.zig");
|
||||
const d52 = @import("day5/part2.zig");
|
||||
const d61 = @import("day6/part1.zig");
|
||||
const d71 = @import("day7/part1.zig");
|
||||
const d72 = @import("day7/part2.zig");
|
||||
|
||||
const NUMBER_OF_RUN = 1000;
|
||||
|
||||
@ -40,7 +42,10 @@ pub fn main() !void {
|
||||
try benchmark(d52.main, 5, 2);
|
||||
separator();
|
||||
try benchmark(d61.main, 6, 1);
|
||||
print("| 6 | 2 | Too long | 0 | 0 |\n", .{});
|
||||
print("| 6 | 2 | Too long ~60s | 0 | 0 |\n", .{});
|
||||
separator();
|
||||
try benchmark(d71.main, 7, 1);
|
||||
print("| 7 | 2 | Too long ~0.2s | 0 | 0 |\n", .{});
|
||||
separator();
|
||||
print("| Total | {d: >8} ± {d: <6.2} | {d:>8} | {d:>8} |\n", .{ total_mean, total_std_dev, total_min, total_max });
|
||||
separator();
|
||||
|
850
day7/input
Normal file
850
day7/input
Normal file
@ -0,0 +1,850 @@
|
||||
18021496390543: 5 90 53 6 1 40 976 36 4
|
||||
2086523366407: 520 2 9 30 29 8 864 7
|
||||
544370: 39 52 9 31 163 244 3 3
|
||||
48033216: 1 11 2 4 11 6 8 266 19
|
||||
6718: 4 8 6 93 22
|
||||
5370732117: 89 2 669 9 116
|
||||
20766044216: 92 7 4 2 4 88 1 6 2 2 7 6
|
||||
1217651: 7 9 489 456 7 2 21 449
|
||||
388850: 31 70 5 14 55
|
||||
188553679: 73 2 8 98 26 4 99 6 646
|
||||
1171: 273 92 59 2 7 732 4 2
|
||||
470690664: 7 84 47 9 37 507 6
|
||||
792247601: 6 110 2 2 11 2 3 4 3 4 5 5
|
||||
105431: 5 36 9 553 912
|
||||
1027273995: 439 585 9 24 33 4 663
|
||||
104940: 50 277 855 6 2 9 44
|
||||
1417824: 957 1 39 158 54 114 9
|
||||
179848364: 20 706 675 367 4 3 7
|
||||
18823: 58 9 6 6 31
|
||||
129: 8 13 2 7 4 9
|
||||
45430487028: 90 860 974 5 28
|
||||
286520: 9 6 9 8 5 116
|
||||
32423085115: 519 6 52 3 70 5 9 4 3 9
|
||||
621002: 1 15 6 15 60
|
||||
124725313: 4 59 3 654 7 4 4 6 44 1 6
|
||||
1274048: 727 1 350 5 39 9 1
|
||||
55: 1 7 49
|
||||
1151013496: 3 3 5 7 4 5 3 2 81 344 5 6
|
||||
53037956: 902 84 5 7 9
|
||||
6666948: 372 9 702 228 27
|
||||
289116230877: 317 8 9 484 887 77
|
||||
340265: 838 16 6 1 7 7 343 1 8 9
|
||||
3538: 11 2 272
|
||||
2731929254: 64 7 376 6 422
|
||||
10588315: 215 7 490 4 313 2
|
||||
432636003574: 6 51 6 8 48 75 1 3 5 7 6
|
||||
114057540: 1 7 2 6 269 1 5 8 2 22 5 4
|
||||
231831129: 2 4 2 2 362 5 8 369 8 2 4
|
||||
9747833: 643 440 9 791 4 39
|
||||
33419160654: 5 7 7 1 663 6 601 6 54
|
||||
4445: 8 543 65 1 37
|
||||
281864190: 780 552 425 654
|
||||
1997341: 9 558 20 396 711
|
||||
411249271: 446 1 92 92 73
|
||||
5601260482: 28 92 3 33 9 12 431
|
||||
287372172: 47 895 194 6 845 161
|
||||
14532463720: 84 4 3 2 16 55 583 720
|
||||
38419465501: 1 3 94 5 2 229 3 65 4 5 5
|
||||
18371401024: 8 2 35 8 5 9 474 9 3 1 2 1
|
||||
147446853278: 6 450 4 6 4 1 50 9 91 9 1
|
||||
143526672: 408 82 429 43 2
|
||||
26153: 6 4 89 5 36 4 3 1 7 3 61
|
||||
3776055360: 7 1 79 2 8 4 8 506 7 6 2 5
|
||||
11811490: 850 5 9 2 4 77 9
|
||||
77823549: 42 3 9 222 53 78 3 6 9
|
||||
224989523328: 651 54 55 6 302 64
|
||||
1549498: 4 56 45 4 1 3 74 802 73
|
||||
761340: 8 34 3 395 6 7 575 348
|
||||
13784576: 666 862 73 192 24 8
|
||||
2185: 7 56 1 5 42 25 16 9
|
||||
1976719997: 328 95 42 8 2 665 6 9 5
|
||||
2080: 4 48 40
|
||||
1336862724894: 905 6 4 4 41 5 4 1 149 6
|
||||
5785704: 1 8 461 551 642
|
||||
1720244700: 9 8 9 3 2 9 5 5 86 5 3 555
|
||||
354240: 4 41 8 90 3
|
||||
574792635: 841 2 8 6 5 9 6 8 9 69 4 3
|
||||
35946: 977 373 579 68 3 6
|
||||
2247: 96 4 2 15 7 87
|
||||
45609780265: 112 625 772 24 844 9
|
||||
4368253707: 588 874 2 850 7
|
||||
7855604: 3 5 6 51 404 164 5
|
||||
537152506674: 746 8 360 9 7 3 6 6 1 7 1
|
||||
77157775668: 5 65 6 24 909 8 7 6 43
|
||||
26736: 9 5 7 51 6 2 4 8 4 4 7 965
|
||||
89509052: 21 18 85 6 9 5 90 2
|
||||
17349: 59 8 567 26 149 716
|
||||
5675: 4 46 6 75
|
||||
14916197: 7 4 3 916 198
|
||||
37970007: 9 492 18 4 50 7 71 5 2
|
||||
8232: 77 4 78 6 1 47
|
||||
42928740590: 5 6 657 9 5 1 3 5 9 242 8
|
||||
5085136997: 5 911 2 40 9 555
|
||||
543629407: 7 8 865 956 9
|
||||
2358987: 1 10 65 14 493 2
|
||||
99960305: 144 870 69 6 1
|
||||
188928182: 6 82 384 184
|
||||
678627667: 52 603 23 627 667
|
||||
78: 1 1 1 6 67
|
||||
102880131: 300 34 2 416 74
|
||||
44218020295786: 650 265 68 29 5 786
|
||||
1470717: 60 1 2 813 3
|
||||
11779: 1 222 76 9 98
|
||||
139602837204: 2 5 3 8 7 8 9 2 6 3 229 14
|
||||
2227434: 12 41 40 479 5 3 5 10 4
|
||||
228660583: 9 245 90 4 9 7 4 5 7 3 7 3
|
||||
50903831: 52 962 879 833
|
||||
90052: 2 828 3 1 9 1 61 5 6 61 9
|
||||
669334: 5 17 1 44 9 3 33
|
||||
2530998: 43 5 8 753 14 60 78
|
||||
48973623134: 48 973 623 130 4
|
||||
63638238625: 3 29 417 227 8 82 5 13
|
||||
146030544: 58 8 71 580 44 99
|
||||
4767952: 678 78 77 63 304
|
||||
329654729: 289 17 1 38 3 9 15 12
|
||||
25986: 19 40 2 426
|
||||
443015016: 25 32 6 22 22 8 6 4 699
|
||||
1687: 4 8 894 28 730
|
||||
612413257: 400 27 153 66 91
|
||||
163745536509: 6 1 4 6 9 1 7 779 2 7 9 38
|
||||
208900: 5 68 5 1 12 2 3 110 6 4
|
||||
11788: 40 7 64 33 656
|
||||
22246980: 42 359 56 21 70
|
||||
39499306: 493 73 98 15 8
|
||||
70272584: 5 8 9 120 97 6
|
||||
118523: 7 6 2 48 940 78 5
|
||||
101790: 1 54 377 5
|
||||
152830544703: 1 6 98 9 773 281 470 5
|
||||
225809014: 124 2 139 13 36 7 4
|
||||
12484922: 2 3 9 5 40 486 8 5 2 3 4 3
|
||||
164788: 5 2 58 8 9 3 506 4 1 89 4
|
||||
51921: 6 98 2 1 84 5 41 56
|
||||
846514: 885 56 8 892 6
|
||||
8902: 1 788 3 98 1
|
||||
572518254: 57 638 3 77 43
|
||||
3420598584255: 33 4 279 6 9 9 8 57 5 43
|
||||
3662888: 925 44 9 420 66
|
||||
141022: 98 19 6 2 337 670 1 7 7
|
||||
1673342096: 16 61 4 8 341 616 480
|
||||
16241040: 618 657 1 5 8
|
||||
1012709: 32 668 31
|
||||
5671500: 1 4 7 4 995 25
|
||||
2296837937: 1 25 715 274 87 851
|
||||
108533952: 14 77 690 19 9 32 6
|
||||
95566943: 95 5 66 936 6
|
||||
31185: 7 483 9 7 2 310
|
||||
320: 29 2 274 14
|
||||
7902562: 328 1 330 8 73 6 452
|
||||
277669: 85 6 68 2 48 45 5 4
|
||||
1576919304: 9 8 5 55 8 8 8 5 5 16 4 20
|
||||
640: 506 22 75 4 33
|
||||
457940: 750 6 19 1 593 4 84 9
|
||||
719: 94 86 8 3 527 1 1
|
||||
9880743381: 1 58 7 87 5 8 11 3 30 48
|
||||
56367620048: 8 2 1 56 535 2 3 6 62 45
|
||||
14864899: 9 734 2 4 48 2
|
||||
5202498: 98 8 984 8 1 777 21 97
|
||||
146056142: 4 5 2 1 3 8 9 58 2 8 1 516
|
||||
12067: 8 150 3 9 977 5 2 7 590
|
||||
2192730725: 797 3 56 3 178 92 701
|
||||
351559031: 2 767 9 8 7 8 9 5 727 3 3
|
||||
5776524495: 696 593 2 913 35 399
|
||||
8148: 6 5 560 768 6
|
||||
2315810: 29 313 79 63 21
|
||||
67023569: 2 2 5 63 9 14 843 1 3 5 1
|
||||
325413762: 69 5 943 78 7 63
|
||||
5585351440: 657 5 50 17 1 440
|
||||
26422455: 797 104 991 5 8 7 9 66
|
||||
972125: 15 3 5 4 12 3 1 1 6 9
|
||||
773605: 391 38 8 8 52 59 7 9 82
|
||||
9915: 564 536 3 5 3
|
||||
5386017: 9 88 70 572 8 291 13 7
|
||||
175807: 435 403 502
|
||||
37739684: 7 940 7 3 4 3 2 7 817 1 3
|
||||
875722974018: 583 815 269 47 15 21
|
||||
11647788152: 35 767 3 986 5 589 88
|
||||
26177000220: 1 92 3 6 45 41 7 692 29
|
||||
17806862819: 72 209 5 9 274 10 5 5 8
|
||||
2124: 25 75 6 148 95
|
||||
1788090: 13 5 8 2 8 7 8 3 8 2 95 1
|
||||
1234133887: 19 2 2 82 4 1 9 63 7 87
|
||||
868348282: 37 832 67 57 421
|
||||
103659: 5 691 6 5 9 1
|
||||
2672352: 8 4 7 549 4 6 5 1 6 8 1 3
|
||||
14282884: 81 9 68 2 470 8 865 4
|
||||
126339: 3 7 32 94 2
|
||||
77571648185: 7 1 85 4 848 99 182
|
||||
13928434302: 49 8 79 94 241 80 302
|
||||
264642415: 3 88 64 237 4 3 1
|
||||
8319707: 1 3 17 786 56 9 683
|
||||
94667151: 2 427 91 7 66 174 10 5
|
||||
99838064: 517 563 343 708 3
|
||||
382956: 5 8 2 94 7 2
|
||||
9168734322: 7 801 4 51 9 2 725 8 9
|
||||
12031: 6 71 5 7 17 416 3
|
||||
1365859: 1 6 1 195 859
|
||||
5251176194: 30 9 755 2 92 9 14 68
|
||||
10730374368272: 78 4 9 93 44 7 7 3 268 4
|
||||
46362: 53 6 9 4 9 398 3 5 9 9 3
|
||||
705824000: 338 462 5 548 46 7
|
||||
612212: 8 2 5 2 3 624 5 1 8 7 7 6
|
||||
703071: 4 6 7 1 2 7 9 999 72 573
|
||||
16686922: 5 8 4 1 13 13 4 4 2 2 98
|
||||
2379967: 787 14 36 6 75 4
|
||||
60555188: 8 91 35 6 66 2 9 60 35 4
|
||||
831803074394: 8 4 6 795 6 2 13 4 7 353
|
||||
7984320: 8 4 82 72 3 3 7 6 3 898 6
|
||||
109848972: 23 88 46 9 7 2
|
||||
369704: 80 5 7 443 114
|
||||
442394585: 939 9 94 8 6 8 97 8 6 41
|
||||
155917448545: 4 23 618 9 8 852 21 1 7
|
||||
309069408: 75 96 7 6 3 9 279 129
|
||||
4195488: 17 6 393 7 3 1 2 58 4 2 3
|
||||
619593520: 66 8 545 590 3 518
|
||||
19446945: 21 926 8 80 63
|
||||
7454239462: 470 617 218 83 379
|
||||
10120010486: 6 3 8 806 60 4 42 82
|
||||
240439: 73 28 4 99 68 6 55
|
||||
6502927: 13 50 1 1 927
|
||||
6778213: 4 6 2 8 9 20 455 23 3
|
||||
498: 63 59 31 96 2
|
||||
47592: 33 34 71 5 17
|
||||
382163: 180 16 1 7 227 239 2
|
||||
4259324: 195 202 40 9 1 3 67 4
|
||||
664859: 73 3 95 92 619
|
||||
1532339807429: 788 8 8 8 85 2 7 7 8 4 9 8
|
||||
4872595: 2 8 5 52 6 5 11 560 1 4 7
|
||||
5938: 5 726 1 8 203
|
||||
2574548832: 4 823 7 2 38 58 2 533
|
||||
340565132873: 5 1 6 66 511 8 3 9 2 8 7 3
|
||||
1380384: 3 7 3 1 95 8 113 6 9 6 3 8
|
||||
7055: 4 1 9 478 363
|
||||
22360: 45 6 5 89 65
|
||||
8305: 31 7 4 4 4 5 8 7 2 1 6 19
|
||||
4066020: 9 220 21 21
|
||||
16994670: 688 6 98 91 42
|
||||
61722484080: 617 1 153 4 1 61 5 1 8 3
|
||||
3926223000: 19 24 5 164 6 10 75 2 7
|
||||
482949: 42 26 224 415 279
|
||||
29304082987: 8 7 853 639 16 7 522 8
|
||||
231791: 99 78 30 87 44
|
||||
109123: 40 160 5 14 17
|
||||
1370291966: 4 544 3 239 2 503 878
|
||||
317435399666: 1 933 8 4 6 9 44 4 8 843
|
||||
249096: 16 8 23 67 96
|
||||
534888: 9 4 92 171 969 2
|
||||
330561: 66 8 2 7 4 84 987 32 7 9
|
||||
1058328: 78 1 186 5 72
|
||||
19863103269155: 6 621 6 5 9 1 3 269 155
|
||||
192473: 4 32 922 53 8 8 172 5
|
||||
9964853: 9 6 3 543 2 8 18 882 8 9
|
||||
914777: 1 93 5 5 6 90 762 62 6 5
|
||||
6674626: 9 5 336 20 5 349 51 1
|
||||
1467648: 3 781 4 3 12 13
|
||||
358436: 3 41 328 1 793
|
||||
3249061205: 5 9 1 2 2 1 1 1 51 60 1 7
|
||||
443331: 223 924 31 864 1 31 7
|
||||
8914: 39 8 72 9 609 2
|
||||
746239: 2 72 6 2 37 1
|
||||
30692390852: 287 557 644 743 76 4
|
||||
1410138970: 1 2 8 5 9 859 2 76 6 2 5
|
||||
60824610611: 990 917 67 608
|
||||
197922: 6 685 8 55 67 241 1 60
|
||||
193714: 3 654 821 3 455 77 38
|
||||
393809: 46 3 3 85 4
|
||||
630929: 6 249 54 6 27
|
||||
34577400: 7 5 6 638 898 6 2 550 6
|
||||
47677154: 99 3 229 701 41
|
||||
113537: 8 9 3 2 59 55 47 29 3
|
||||
25570045256: 702 1 6 642 4 6 4 394 8
|
||||
25886664: 94 6 4 4 2 684
|
||||
1297470: 38 82 83 866 5
|
||||
6566435530: 7 46 6 2 6 3 1 35 53 1 2
|
||||
22217: 1 41 75 7 14 77 76
|
||||
55548: 4 1 9 53 724 124 3 3 36
|
||||
22463485382409: 5 44 1 73 5 8 344 5 4 6 9
|
||||
31494: 4 3 533 2 1 58
|
||||
38855974747814: 95 409 974 747 813
|
||||
151415040: 52 6 7 4 8 8 994 5 4 8 84
|
||||
647241: 9 8 6 3 6 7 6 214 7 3 64 9
|
||||
13651: 3 325 387 991 8
|
||||
20753886: 4 94 189 73 8 785 5 4 6
|
||||
12180: 94 59 2 62 9 77 6
|
||||
11734: 6 2 6 9 4 6
|
||||
5286689: 66 267 3 89
|
||||
70399843: 52 752 7 18 43
|
||||
33454491: 2 6 4 305 1 1 12 54 490
|
||||
33645: 986 2 40 7 5 81 6 1 1 2 5
|
||||
344724: 27 14 84 9 9 225
|
||||
219902: 286 4 4 8 6 257
|
||||
347594089: 1 3 7 7 8 7 50 1 88 18 5
|
||||
10022921418: 6 843 2 6 2 590 75 66 6
|
||||
40221216: 8 7 3 9 29 7 6 1 3 562 9 4
|
||||
7258096: 7 8 6 4 7 3 4 4 8 84 63 65
|
||||
7055033: 5 8 4 7 8 6 500 41 8 2 3 3
|
||||
683645451: 162 65 969 93 67 27
|
||||
53255109: 8 26 91 8 821 12 173
|
||||
99306067251: 20 6 8 8 253 511 8 6 54
|
||||
597: 2 64 9
|
||||
1699469163: 810 9 73 259 9
|
||||
2526336473318: 8 7 9 7 9 8 6 8 3 1 733 18
|
||||
266072040670: 9 46 570 9 72 195 670
|
||||
238000: 53 7 10 3 2 1 9 1 8 7 5 4
|
||||
15105200: 2 2 9 264 44 26 5 90 20
|
||||
117369679: 8 4 4 4 8 7 74 4 4 1 373 7
|
||||
2332432166963: 219 8 6 243 2 166 963
|
||||
501665: 37 2 67 8 101 99
|
||||
1208448: 8 158 9 9 696 7 27 8
|
||||
72259171743: 8 233 4 8 45 2 6 79 79 6
|
||||
432632: 366 49 7 6 5 489 4 9 63
|
||||
2426562: 3 4 66 12 3 5 48 339
|
||||
37428024: 1 76 41 3 4 300 2 4 5 3 1
|
||||
383040: 6 2 7 570 3 4
|
||||
371676818: 4 8 67 9 2 53 5 89 168
|
||||
22556878: 34 6 48 3 44 89 718
|
||||
55944: 186 3 3 5 6
|
||||
11216124: 49 78 2 82 8 9 6 738
|
||||
71521: 7 151 5 5 3
|
||||
13903891770: 57 123 5 51 4 45 386
|
||||
12369252: 214 2 289 51 3
|
||||
58569: 4 27 955 55 93 7 3 1
|
||||
332274: 1 32 224 9 23
|
||||
12722: 652 596 19 5 5
|
||||
43679: 347 5 4 1 31
|
||||
1595470462: 22 15 736 8 603
|
||||
2194260: 7 5 3 9 1 2 671 7 4 2 8 6
|
||||
1596: 4 99 13 4 2 770
|
||||
225545: 74 6 4 1 7 1 4 61 3 279 2
|
||||
658476046: 709 656 72 67 44
|
||||
6165: 2 8 6 3 2 4 7 20 2 2 589 8
|
||||
618: 3 100 456 57 5
|
||||
1053084707: 338 3 5 4 950 88 8 9 8 4
|
||||
592327096: 69 5 304 3 549 2 6 3 8 8
|
||||
9335700: 93 8 6 407 8 2 1 28 575
|
||||
64797: 127 2 57 5 13
|
||||
189826163856: 74 73 6 588 98 72
|
||||
2731030: 7 34 231 283 7 8
|
||||
7380687245: 3 90 7 4 28 3 7 33 67 1 6
|
||||
1512819: 525 6 118 777 3
|
||||
17287: 4 30 47 58 529
|
||||
1967500225: 49 4 6 1 308 191 9 3 27
|
||||
42666: 41 739 95 826 9
|
||||
261014686: 452 7 2 4 28 974 144
|
||||
74423580: 79 354 31 6 7 154 6
|
||||
55355965: 265 5 205 5 2 62 7 698
|
||||
40893650: 9 534 97 95 775
|
||||
1549: 5 1 2 65 8 8 939 7 1 7 1 3
|
||||
1184407: 34 3 8 584 846 7
|
||||
5135: 17 3 87 697 1
|
||||
207485759: 4 2 3 7 1 798 573 9 16 1
|
||||
154158189: 8 9 50 2 1 7 8 4 82 25 3 2
|
||||
383660590502: 9 5 9 1 1 4 14 7 603 4 90
|
||||
1345428: 3 5 86 7 7 3 1 2 5 477 9
|
||||
6034701341: 1 9 20 9 561 3 4 8 7
|
||||
927332206: 97 956 448 772 8
|
||||
1076: 96 5 975
|
||||
1636204: 4 8 104 5 84 62 5 8 4 7 4
|
||||
71630: 1 6 1 1 627
|
||||
197044152: 6 9 2 2 6 905 7 8 1 5 8 3
|
||||
139574: 9 9 200 1 1 72 38
|
||||
5653416: 6 6 35 7 2 4 5 194 1 9 54
|
||||
49169744: 2 61 8 1 57 67 4 5 2 95
|
||||
978107626: 65 4 3 2 2 52 41 9 3 5 91
|
||||
1290492: 1 3 5 7 2 2 8 6 6 9 882 7
|
||||
1762960: 6 5 6 9 40 118 9 4 7 23 6
|
||||
2037: 931 6 1 54 7 8 3 2 18
|
||||
2917787528916: 729 36 7 1 6 8 82 229 4
|
||||
35163588145: 2 3 7 5 817 9 4 2 138 9
|
||||
1862190267508: 467 55 327 56 725 11
|
||||
2150912: 6 4 5 9 531 9 7 20 4 9 1 2
|
||||
351899259: 77 622 3 79 93
|
||||
103500: 987 4 26 376 476
|
||||
72873677: 5 6 1 5 6 42 1 6 5 5 567 2
|
||||
45229132872: 9 5 6 7 6 9 2 3 8 33 564 7
|
||||
76286: 3 2 7 3 2 469 575 7 8 4 4
|
||||
1041: 9 1 5 45 2 74 3 6 8 5 8 6
|
||||
55860: 5 114 98
|
||||
51346: 51 3 46
|
||||
1895941: 955 97 33 97 18
|
||||
1914515660570: 201 72 5 7 156 60 570
|
||||
2139033: 5 7 52 341 6 987 203
|
||||
92917: 8 45 2 869 4 779 20
|
||||
119738568: 71 69 97 167 69
|
||||
75903131: 2 61 424 4 62
|
||||
1107: 48 5 58 4 707 1 7 90
|
||||
8245: 97 206 27 19 47
|
||||
3963024: 854 3 49 211 9 6 4 39
|
||||
40241: 53 349 1 43 1
|
||||
56256944: 48 6 494 195 607 7
|
||||
82344882719: 5 818 44 882 647 70
|
||||
53876: 5 260 41 4 40 76
|
||||
30512724: 4 9 9 7 774 91 94 5 417
|
||||
207304492566: 3 61 236 4 3 58 4 6 3 4 9
|
||||
434: 32 391 8
|
||||
1055910539: 838 7 60 7 3 5 6 1 52 8
|
||||
106305210: 49 4 7 362 4 8 123 495
|
||||
152823815: 4 882 5 5 313
|
||||
21575913047: 96 41 442 9 2 7 689
|
||||
16613: 790 8 9 846 1 67 212 2
|
||||
105800464145: 43 3 943 33 814 142
|
||||
297600396: 600 4 124 386 8 1
|
||||
6596: 34 88 5 49 3
|
||||
1394745994: 872 1 6 4 1 7 2 6 1 2 7 19
|
||||
134235: 7 97 938 446 65 57 83
|
||||
2794918390: 6 6 5 63 5 8 7 7 8 27 532
|
||||
8811360: 571 62 80 2 87
|
||||
1636945110: 52 9 2 2 1 703 367 6 22
|
||||
15343177: 1 8 212 2 7 402 42
|
||||
21423326: 9 1 2 5 3 5 1 1 6 719 78 2
|
||||
38880: 9 92 383 3 1 32
|
||||
15998: 4 1 1 404 4 813 13 60
|
||||
118360: 4 2 677 500 60
|
||||
2475367: 53 1 6 237 3 155 1 3 6 4
|
||||
269632: 7 8 2 1 9 6 1 1 6 503 176
|
||||
1192072602671: 238 41 45 2 5 26 68 3
|
||||
118494: 9 303 33 57 41 38 5 6
|
||||
4232: 5 7 3 1 53 46
|
||||
678567168: 3 986 81 9 472 24 6
|
||||
222660756481: 2 899 2 28 6 5 8 192
|
||||
9728: 274 68 60 6 4 77 3
|
||||
80430997: 33 616 9 299 8
|
||||
2138304: 1 4 1 496 6 3 9 8 720 86
|
||||
55805047014: 861 5 742 7 9 97
|
||||
3694: 9 6 28 3 6 5 4 2 8 8 38
|
||||
5743756: 4 7 6 98 3 755
|
||||
1246: 9 5 8 511 2
|
||||
8450: 6 31 41 419 85 4 310 6
|
||||
31095209: 4 73 9 8 7 1 7 9 3 800 7 2
|
||||
299641521: 6 48 578 38 752 8
|
||||
459: 5 3 8 86 1 36 248
|
||||
75120: 6 8 29 11
|
||||
1831: 6 7 41 74 35
|
||||
61745032: 2 7 3 58 6 7 2 835 6 78 3
|
||||
4021986876: 9 57 2 9 5 6 4 3 35 8 222
|
||||
3574321692: 426 9 91 3 3 8 627 58 6
|
||||
468793: 66 94 3 7 2
|
||||
1334: 3 15 7 5 639 435
|
||||
13298: 2 664 7 8
|
||||
173553609: 269 3 9 50 10 692 1 12
|
||||
2088395: 81 1 670 38 675
|
||||
9552979: 553 7 168 2 4 2 591 55
|
||||
14599679: 6 92 968 8 960
|
||||
31489: 52 4 749 83 2 926 16 1
|
||||
321206458929: 7 777 3 961 2 7 295
|
||||
182252008: 28 972 46 566 7 8
|
||||
632595: 77 55 44 1 7 59 35 14 4
|
||||
12426943590019: 2 5 3 6 110 7 6 55 7 1 7 7
|
||||
2392374: 1 5 42 24 91 365 894
|
||||
1240277: 234 53 77
|
||||
569031155: 473 4 77 805 359
|
||||
15421920: 9 7 5 4 6 5 1 8 56 2 48 5
|
||||
306800: 53 396 591 5 59
|
||||
1612590: 5 17 3 1 5 886 7 9 61
|
||||
1059890184780: 44 6 866 3 173 457 1
|
||||
14879035: 403 330 548 452 37 6
|
||||
1014226200: 52 923 487 356 6
|
||||
2150201: 430 98 51 610 407 44
|
||||
778: 7 2 62 3 63 61 579 1
|
||||
22007: 9 20 7 766 65 62 2 3
|
||||
62833: 698 50 4 21 1
|
||||
157014216: 12 1 3 1 7 8 351 2 4 4 9 2
|
||||
4145592469: 36 57 488 592 469
|
||||
6582: 34 8 24 9 45
|
||||
10971282: 9 152 6 599 2
|
||||
37807: 1 9 62 525 8
|
||||
15114: 52 99 14
|
||||
834556: 834 54 6 6 4
|
||||
3959983: 627 315 64 42 898
|
||||
5080: 50 79 1
|
||||
3406747978: 340 674 7 290 689
|
||||
28575282221: 44 3 3 1 6 8 5 5 2 822 1 9
|
||||
16708: 166 1 10 91 4 2
|
||||
3004947540: 751 4 90 4 7 54 2
|
||||
659360: 7 322 9 33 9
|
||||
312528264908: 834 9 451 995 787 83
|
||||
5283869: 84 925 4 68
|
||||
670472: 978 85 533 146 8
|
||||
386013978: 7 33 5 2 31 54 9 366 7
|
||||
1772140: 9 52 2 8 93 676
|
||||
325033: 7 45 9 64 39 3
|
||||
24035: 4 83 64 11 883 23
|
||||
108190: 59 303 6 9 915 4
|
||||
2269768960: 8 93 256 181 485
|
||||
2748938142: 2 31 833 38 142
|
||||
624990231: 624 983 7 2 31
|
||||
1337: 4 3 17 4 617
|
||||
39612: 66 5 7 56 7 22 8 5 9
|
||||
244627395604: 4 2 971 8 1 1 5 731 8 6 1
|
||||
34544163: 844 50 5 56 23 6
|
||||
15220: 8 353 3 5 942 57 1 85
|
||||
3059655172: 1 124 7 83 179 89 476
|
||||
48061665: 5 961 70 46 68
|
||||
2391409: 660 1 38 2 6 9 3 5 4 2 3 1
|
||||
57155348: 8 3 2 3 4 849 66 666 1
|
||||
416590387491: 6 49 907 641 489
|
||||
1527392: 6 5 7 3 29 228 3 4 5 4 4
|
||||
1091808154: 1 9 272 446 1 3 9 11 6
|
||||
37391: 349 105 149 7 590
|
||||
6890452424: 5 3 9 5 9 6 647 8 3 8
|
||||
7129901: 8 7 9 5 6 6 39 258 45 7 4
|
||||
699989688: 320 39 68 59 486
|
||||
1836865: 7 985 23 7 307
|
||||
398601: 1 81 573 48 567
|
||||
26510863: 381 962 6 658 8 5
|
||||
97686095: 976 8 50 99 995
|
||||
764: 92 7 3 67 50
|
||||
283716: 899 4 1 238 74
|
||||
146947: 10 49 593 386 47
|
||||
1530961: 3 3 3 85 961
|
||||
38446800: 684 18 237 7 80
|
||||
1234965: 3 26 816 1 9 138
|
||||
44567052418: 7 8 85 2 14 4 5 4 6 7 4 18
|
||||
4196119: 5 8 9 9 9 3 9 30 714 4 6 7
|
||||
992466: 4 277 3 893 343
|
||||
212733: 917 96 3 70 3
|
||||
95330342: 953 291 12 4 10
|
||||
75300993240: 630 624 5 5 1 6 5 5 4 60
|
||||
1987944: 78 8 63 93 229 7 31 7
|
||||
9276986787: 70 31 36 6 274 26
|
||||
8523781786: 1 9 26 83 1 2 76 81 7 88
|
||||
1088647: 84 32 5 81 7
|
||||
2321154: 8 4 89 564 34 855 4
|
||||
67150: 53 6 91 8 425
|
||||
1080675100: 38 2 5 4 5 1 675 4 4 9 7 5
|
||||
3445478400: 417 85 8 16 91 29 160
|
||||
250103: 6 7 6 521 2 5
|
||||
984: 7 4 16 7 9 5
|
||||
15955: 35 7 63 49 863
|
||||
43350: 5 6 1 14 1 39 2 665 6 6
|
||||
38137871: 657 53 4 58 7 892
|
||||
39253: 30 188 52 771 6 475
|
||||
1704524448: 607 2 78 2 7 5 3 9 5 5 6 8
|
||||
2549685: 97 68 64 1 38 293
|
||||
9486: 5 30 6 56 6 4 629 111
|
||||
548478797: 53 27 82 850 8 421
|
||||
504712: 53 75 52 93 1
|
||||
126878364815: 84 91 95 9 6 2 522 814
|
||||
12259962: 6 95 9 7 3 2 7 9 9 4 69 66
|
||||
58276214: 3 92 4 92 6 17 7 124 4 3
|
||||
34507: 10 641 39 50 8
|
||||
12102396: 84 66 207 339 98
|
||||
235329344: 46 4 10 6 67 7 788 1 4 7
|
||||
63068: 9 1 7 7 9 71
|
||||
2524164869: 986 256 48 66 5
|
||||
6048067791920: 97 5 209 869 530 56
|
||||
140022: 237 2 29 5 2 694 1 3 2 8
|
||||
477924112: 177 90 4 4 3 112
|
||||
49875: 6 9 2 3 87 2 26 9 2 5 3 35
|
||||
487189629: 76 123 38 8 8
|
||||
9356682: 50 9 4 63 9 5 1 5 949
|
||||
426607: 76 14 1 2 7 4 896
|
||||
2477: 4 600 77
|
||||
5848008671: 96 488 800 860 7 4
|
||||
7677: 699 6 17 48 83 9
|
||||
63317518: 6 622 43 95 20
|
||||
17724: 43 65 164 11 1
|
||||
475446: 242 191 122 9 12
|
||||
138320: 81 6 8 2 728
|
||||
3137577806356: 738 476 9 1 56 10 843
|
||||
3184066: 810 185 32 66
|
||||
53735537: 1 8 37 642 53 82
|
||||
159261025: 241 136 9 491 539
|
||||
595647343: 660 552 979 502 247
|
||||
9144: 9 7 561 21 74 73
|
||||
53857884: 686 8 2 1 981 2 1
|
||||
460165: 3 637 964 65
|
||||
245932544: 2 3 8 7 2 855 4 3 4 85 4
|
||||
220608: 4 89 27 576
|
||||
2106: 124 23 2 99 535
|
||||
39504807: 4 2 1 68 5 7 6 3 80 95 8 5
|
||||
89816: 86 697 500 7 1 8
|
||||
4582393: 5 904 4 7 2 2 5 8 4 9 925
|
||||
222154: 3 7 1 215 1
|
||||
10028340: 65 61 5 7 3 758 1
|
||||
461538: 8 99 194 24 2 8 164 3
|
||||
90431: 1 629 2 47 351 7 79 3 8
|
||||
15561840: 8 5 2 55 3 8 840
|
||||
3416200: 3 56 4 8 1 8 490 50 58
|
||||
354126630: 5 6 3 28 1 1 1 55 851 3 1
|
||||
16365503774: 65 454 5 5 200 3 7 74
|
||||
1095: 73 5 3
|
||||
4084294: 8 9 31 22 3 9 5 5 3 4 6 22
|
||||
98829270: 1 3 9 8 581 6 9 4 9 45 2
|
||||
702176629176: 111 456 6 9 1 6 7 169 7
|
||||
23566123: 31 933 497 75 725
|
||||
84938672013: 1 2 629 524 2 5 223 9 7
|
||||
475577819: 48 28 6 983 7 1 773 62
|
||||
1051142656: 8 303 9 9 3 1 6 8 7 2 5 6
|
||||
1062: 2 2 6 21 41
|
||||
2953671112: 67 76 5 364 58
|
||||
418247: 4 76 169 54 798 8 423
|
||||
5751: 718 8 7
|
||||
36105960: 7 7 64 7 98 51 1 2 48 2 4
|
||||
380612: 6 3 4 8 79 718 9 9 7 5 6 2
|
||||
81267511123: 812 675 106 9 43 3
|
||||
4751948141: 7 676 15 4 884 64 141
|
||||
414792: 96 8 55 504
|
||||
4202454967754: 310 3 9 684 22 775 6
|
||||
2776423104: 67 5 47 22 728 644 6 7
|
||||
143040: 30 2 6 2 2 6 37
|
||||
60132807: 601 31 10 170 5
|
||||
178954614023: 4 3 318 8 1 4 5 3 6 89 23
|
||||
112817: 81 951 5 935 7 9 201
|
||||
5409: 601 9 3
|
||||
4728: 9 95 90 5 3
|
||||
1238720: 9 80 2 632
|
||||
15886406: 2 1 64 495 18 9 9 6 6 2
|
||||
4107708: 9 8 46 7 7 9 3 4 22 41 9
|
||||
133418239920: 207 85 632 857 14
|
||||
178212824643: 8 89 55 57 220 12 276
|
||||
3906433966: 744 3 69 373 52 6
|
||||
93587: 1 1 85 8 9
|
||||
11969903900: 182 7 8 77 3 43 1 4 797
|
||||
266594: 5 53 9 6 96
|
||||
1287720: 7 433 5 5 584
|
||||
803268: 52 155 963 89 218
|
||||
48240498: 8 8 92 268 498
|
||||
58059135: 34 7 3 30 87 13 9 135
|
||||
842385885: 6 3 1 219 9 2 83 2 271
|
||||
13862495791: 95 5 3 82 304 86 117
|
||||
128042008: 3 911 5 2 9 4 1 70 10 8
|
||||
57325200: 48 324 50 46 67
|
||||
1417469272496: 753 973 94 85 77 2 9 3
|
||||
443409045015: 92 4 1 53 772 94 51 12
|
||||
1558187646: 9 728 6 660 9 5 5 360 6
|
||||
20088860: 1 512 577 68 28
|
||||
20736: 41 8 47 1 9
|
||||
1696285: 5 5 3 7 4 44 6 36 5 1 8 3
|
||||
5556: 1 462 6 2
|
||||
2449154459227: 4 94 5 827 38 6 7 461 7
|
||||
726448570210: 54 82 8 7 4 2 5 7 8 1 82 5
|
||||
38511541: 2 238 9 6 70 254 61
|
||||
479: 2 6 18 7 3
|
||||
798588: 996 87 89 8 378
|
||||
3021: 92 8 3 640 67 7 97 1 2
|
||||
21513332: 3 46 6 6 4 7 5 7 222 614
|
||||
1643075: 1 9 4 833 19 6 635 25
|
||||
7920529: 9 7 878 1 93 1
|
||||
695906: 128 7 776 7 603
|
||||
1300764632: 448 852 764 375 257
|
||||
6928: 1 780 86 8
|
||||
12806787: 9 9 2 346 5 5 6 8 57 2 9
|
||||
7017204519: 5 448 357 3 4 325 91 9
|
||||
13363: 2 71 3 16 83
|
||||
8393802557: 839 29 8 99 2 858 701
|
||||
3063287848: 5 3 11 48 34 525
|
||||
83599: 1 632 3 1 44
|
||||
286223136392: 894 40 4 730 4 8 3 94
|
||||
10279: 9 6 2 65 2 4
|
||||
271110595831: 3 83 4 5 62 252 21 773
|
||||
4670586: 93 8 78 9 4 6 617 57 9
|
||||
425836081: 4 6 9 86 6 5 37 8 28 8 30
|
||||
39726270638: 77 1 95 579 49 2 1 52
|
||||
119: 9 94 4 9 3
|
||||
2178202496: 726 3 20 2 496
|
||||
3151040: 6 424 4 8 229
|
||||
3651: 2 985 31 4 628
|
||||
481146907488: 293 442 628 87 68
|
||||
1271: 6 204 19 30
|
||||
70942858: 11 52 4 190 9 86 14 55
|
||||
69172400: 398 55 5 8 79
|
||||
7158560: 7 4 6 53 504 914 644
|
||||
20160809712: 3 66 7 999 33 874 9
|
||||
47596680: 3 9 8 465 4 63 64 6 80
|
||||
1301065: 2 45 7 6 431 16 4 3 6 5
|
||||
552410: 19 375 49 77 1 12
|
||||
228871: 3 1 564 851 90
|
||||
10873: 1 2 9 988 5
|
||||
4130731: 3 22 1 3 6 4 8 227 6 2 6
|
||||
225170: 1 510 4 438 32 6
|
||||
29917: 6 8 20 5 31
|
||||
66041382: 88 19 8 4 4 78 3 9 8 949
|
||||
361819319: 2 5 23 45 5 93 622 700
|
||||
1309569: 3 2 4 8 2 2 90 5 2 429 9
|
||||
712657000: 588 7 21 231 8 7 999
|
||||
844041: 14 54 370 412 5 33
|
||||
56808: 3 5 7 78 550 726 668 9
|
||||
78850: 7 6 64 466 25
|
||||
40012: 16 3 833 7 8 7 6
|
||||
18517671: 3 553 3 189 76 7 1
|
||||
76146832: 343 684 55 926 76
|
||||
34521436: 4 1 792 6 7 924 8 3 43 6
|
||||
132536: 5 6 5 24 5 36
|
||||
816: 8 4 9 9 766
|
||||
45813: 8 949 2 84 3 9
|
||||
390467: 31 6 5 7 2 6 2 86 87 95
|
||||
2262640: 2 6 677 82 68 20 2
|
||||
346343: 532 21 31 4 7
|
||||
50382107496: 98 7 6 5 811 40 533 3 6
|
||||
175010794562: 781 2 98 8 54 7 973 28
|
||||
244861014: 74 388 53 101 4
|
||||
105751674434: 1 495 54 18 767 89 9 3
|
||||
969984876: 81 70 8 61 84 873
|
||||
648222764085: 3 5 2 9 6 5 569 1 5 8 82 5
|
||||
1393: 15 3 2 6 7 42 29 7 346
|
||||
39739464: 436 5 2 2 44 4 4 2 2 1 9 8
|
||||
4482588069: 679 180 66 7 1
|
||||
19920: 4 38 61 754 6 24
|
||||
995400: 15 292 9 7 450
|
||||
6479208: 77 27 1 623 5 8
|
||||
19402: 2 22 22 19 916 94
|
||||
511501: 211 78 442 138 4
|
||||
14255: 1 80 1 4 44
|
||||
19777283: 19 777 284
|
||||
1343359380: 7 18 1 4 1 897 9 4 737 1
|
||||
12534: 69 8 21 90 852
|
||||
95324: 59 16 44 605 265 7
|
||||
75183761: 9 3 8 5 9 2 6 74 39 84 8 5
|
||||
12162674: 4 9 98 87 29 45
|
||||
38399760: 22 5 8 34 6 401 105
|
||||
68: 7 9 51
|
||||
1898069202441: 885 92 4 62 678 79
|
||||
722478: 65 1 7 1 277 8 6 701 6
|
||||
158539711: 5 3 150 539 714
|
||||
2905129: 392 4 74 133 3 8
|
||||
924604: 924 5 94 4 9
|
||||
190170: 7 4 29 2 7 1 5 69 66 486
|
||||
5879095: 275 96 8 8 198 868 5
|
||||
1464075: 7 4 22 37 2 67 1 9 75 3
|
||||
4384800: 1 87 48 50 21
|
||||
894358547: 6 3 153 1 523 2 85 43 6
|
||||
39935541907: 14 379 7 347 738 8
|
||||
527: 6 3 6 498 5
|
||||
14860584: 1 5 2 96 3 4 1 9 1 8 6 852
|
||||
4433: 2 622 9 7 2
|
||||
92102561: 8 282 6 459 4 2 553 8
|
||||
72968083742: 2 689 3 5 2 73 828 85
|
||||
52367: 28 5 374 5 2
|
||||
4362486640: 675 47 26 60 604
|
||||
1234525497: 1 7 7 4 626 5 3 60 4 6 52
|
||||
5976: 2 17 623 9 63
|
||||
409778: 282 2 5 3 2 358 51 175
|
||||
2445840597: 6 608 9 1 7 6 5 9 31 740
|
||||
505058931043: 123 80 7 523 84 78 4 3
|
||||
8740890: 1 79 1 413 45 394 1
|
||||
47880841: 6 568 729 6 117
|
||||
34506: 1 179 6 77 8 2 8 8 461 2
|
||||
329: 9 1 21 6 1 9 7 21 90 8 7
|
||||
6625: 89 5 217 8
|
||||
23630995337590: 20 2 599 4 4 5 6 7 6 93 9
|
||||
6711336828: 301 1 593 8 94 5 5 4
|
||||
412184965: 4 8 99 7 8 230 7 5 7 994
|
||||
3247113: 472 71 312 96 9
|
||||
788096881: 3 656 9 3 4 517 7 8 7 7 4
|
||||
261052: 40 1 93 7
|
||||
639146: 2 66 18 8 12 4 2 1 663 3
|
||||
777556979: 2 19 36 7 6 8 82 6 9 9 1 2
|
||||
66880: 3 5 1 6 7 4 919 7 3 2 795
|
||||
34523818: 6 409 34 854 2 304 5 9
|
||||
3805511786: 89 89 7 6 827 70 3 8 1
|
||||
5643745939: 92 133 6 399 461
|
||||
190682490: 9 59 3 665 9 4 68 6 4 5
|
||||
9386: 648 74 13
|
||||
235: 1 38 8 5 7
|
||||
397: 78 5 2 1 4
|
||||
1957898736: 464 8 60 10 376 1 368
|
||||
4985464: 9 9 98 628 398
|
||||
59134728876: 35 4 1 167 2 88 66 7
|
||||
171: 1 5 29 26
|
||||
1565370: 98 213 2 5 370
|
||||
26711813433: 25 202 59 93 964 33
|
||||
3229813000: 686 51 4 438 997
|
||||
251449650: 5 4 58 86 7 1 119 6 5 9
|
||||
5021908928: 1 717 415 561 7
|
||||
8061397778: 806 131 69 808 78
|
||||
674478582: 190 85 1 3 6 29 1 4 45 6
|
||||
588738: 5 6 1 3 3 7 7 22 3 201 2 7
|
||||
6103928698: 242 95 2 4 42 860 45
|
||||
28688562: 5 48 9 205 532 529 42
|
||||
7043267: 4 6 234 307 287
|
||||
34965810: 1 6 3 3 3 2 7 4 4 27 9 366
|
||||
7872769: 12 8 153 536
|
||||
39120: 11 6 7 465 80
|
||||
62700: 44 89 76 100 3
|
||||
188803745: 4 5 978 9 9 7 5 5 8 5 754
|
||||
208523174: 24 21 7 401 31 72
|
||||
165261: 2 3 5 2 9 38 8 557 52 93
|
||||
10494322916992: 2 252 466 2 9 169 93
|
||||
79567: 9 9 4 8 78 6 2 5 1 7 6 2
|
||||
51630630: 5 1 6 305 42 86
|
||||
318: 2 6 6 5 3 2
|
||||
59651611: 8 7 1 2 263 9 122 83 3 5
|
||||
928088: 150 878 8 876 7
|
||||
2192043: 7 8 7 9 345 605 118 3 6
|
||||
6464: 80 70 2 7 564 21 724 4
|
||||
53308267: 8 880 471 6 7
|
||||
2716: 5 7 66 539 910
|
||||
1037: 6 1 6 8 8 1 4 16 6 4 367
|
||||
7549: 15 81 2 35 829
|
||||
924104925: 62 38 2 93 602 7 9
|
||||
11188828: 3 7 5 43 5 8 18 15 1 1 3 7
|
||||
2137644202: 6 8 46 7 582 6 7 3 7 586
|
||||
7908350: 769 2 17 743 571
|
||||
460: 41 90 2 322 5
|
||||
41: 35 2 4
|
||||
815: 9 9 277 2 99
|
||||
554946: 554 89 2 2 34
|
||||
19544120: 630 89 90 1 348 440
|
||||
181694: 94 410 7 36 3 2
|
||||
278951400: 9 9 1 6 246 9 70 4
|
||||
12283: 2 7 3 3 7 9 9 3 7 735 19
|
||||
1113215481: 2 73 1 64 890 2 4 985
|
||||
4060898: 1 566 32 2 8 7 8 2 2 7 2
|
||||
1664611666: 27 3 6 6 43 2 3 337 8 8 4
|
||||
37562670: 47 40 3 37 9 4 2 44 8 5
|
||||
5146430: 444 4 215 857 933
|
||||
20287813: 76 4 3 81 847 811
|
||||
489033: 392 96 93 3 102
|
||||
15739449147181: 6 9 8 8 4 926 9 8 2 990
|
||||
1946039979: 9 8 9 6 7 9 973 3 1 52 2 2
|
||||
10059: 9 59 46 9
|
||||
30022719: 1 501 1 36 20
|
||||
357048341: 606 4 736 3 8
|
||||
39593260: 356 39 9 3 263
|
||||
1527427897: 687 8 2 37 5 5 6 7 8 9 5
|
||||
410489: 63 7 8 7 5 7 755 89 9 3 9
|
||||
1013317239614: 780 2 3 8 6 9 8 9 3 9 6 14
|
||||
4138383: 643 892 2 6 6 447 6 51
|
||||
109997: 56 8 7 452 96
|
||||
3903: 904 4 41 4 107
|
||||
15798542: 5 4 268 13 1 57 156 2
|
||||
13419844: 61 93 2 11 9 62 6 4 5
|
||||
4719995: 808 649 8 9 7 91 297
|
||||
43066715: 478 18 13 8 7 55 7 608
|
||||
1033539: 65 226 7 1 523 9
|
||||
247379: 32 5 5 308 979
|
||||
18832431997: 1 8 29 563 96 11 4 4 9
|
||||
13809: 31 9 2 3 3 40 2 3 5 4 2 7
|
||||
453393018: 87 694 5 85 3 9 754 3
|
||||
2704345: 2 63 1 67 6 285 4 56
|
||||
3058425: 2 53 556 4 24
|
||||
9992610: 6 96 1 287 30 69 5 5 7
|
||||
5047746735: 9 347 66 86 6 98 54 78
|
||||
2725709051136: 56 78 5 60 516 1 6 2 8 6
|
||||
2094424: 1 229 5 22 14 9
|
||||
4198135: 95 9 9 8 545
|
||||
826984585: 537 154 4 574 6 8
|
||||
79351: 834 94 45 907 3
|
||||
64563205: 5 4 99 3 9 9 6 6 7 6 7 331
|
||||
214359: 43 3 46 4 9 8 56 9 77 1
|
||||
351021243: 877 53 9 4 56 41
|
||||
15688616821: 56 45 72 85 386 9
|
||||
142812: 4 8 24 9 2 70 34 7 3 4 6 2
|
||||
140196: 29 8 2 6 7 6 3 73 2 8 25
|
||||
30764261340: 3 178 8 8 4 4 6 2 7 780 3
|
||||
12191105: 12 5 40 7 6 5 106
|
||||
28: 5 5 18
|
||||
168061856: 4 65 5 1 84 6 632 9 4 8 4
|
||||
85: 8 22 38 2 8 7 1
|
||||
117306974: 243 45 775 6 8 6 6 977
|
||||
108646503: 31 87 39 437 21
|
||||
230946884: 162 1 945 9 68 4 3 7 4
|
||||
4186304562009: 716 8 34 4 6 1 406 7 18
|
||||
1333820108: 66 691 5 4 109
|
||||
159536: 3 1 175 2 767
|
||||
10539: 2 384 25 795 94
|
||||
658396: 50 9 854 11 4
|
||||
206596243: 6 4 865 455 162 7 82
|
||||
275064360: 9 9 4 992 7 9 810 56 1
|
||||
85592486: 8 551 4 28 153
|
89
day7/part1.zig
Normal file
89
day7/part1.zig
Normal file
@ -0,0 +1,89 @@
|
||||
const std = @import("std");
|
||||
const print = std.debug.print;
|
||||
|
||||
// Look like the complexity is 2 ^ (n - 1)
|
||||
// with n len of a int list
|
||||
//
|
||||
// So that mean I need to do
|
||||
|
||||
const Operator = struct {
|
||||
value: usize,
|
||||
list: []usize,
|
||||
};
|
||||
|
||||
pub fn main() !void {
|
||||
// const test_value = "190: 10 19\n3267: 81 40 27\n83: 17 5\n156: 15 6\n7290: 6 8 6 15\n161011: 16 10 13\n192: 17 8 14\n21037: 9 7 18 13\n292: 11 6 16 20";
|
||||
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
const allocator = gpa.allocator();
|
||||
defer {
|
||||
const deinit_status = gpa.deinit();
|
||||
if (deinit_status == .leak) @panic("TEST FAIL");
|
||||
}
|
||||
|
||||
const file = try std.fs.cwd().openFile("day7/input", .{});
|
||||
defer file.close();
|
||||
|
||||
const file_size = (try file.stat()).size;
|
||||
const buffer = try allocator.alloc(u8, file_size);
|
||||
defer allocator.free(buffer);
|
||||
|
||||
_ = try file.readAll(buffer);
|
||||
|
||||
var iter = std.mem.split(u8, buffer[0..file_size], "\n");
|
||||
var total: usize = 0;
|
||||
while (iter.next()) |line| {
|
||||
if (std.mem.eql(u8, line, "")) continue;
|
||||
total += try parseOperator(line);
|
||||
}
|
||||
|
||||
try std.testing.expectEqual(882304362421, total);
|
||||
}
|
||||
|
||||
fn parseOperator(line: []const u8) !usize {
|
||||
var number_buff: [12]usize = undefined;
|
||||
var result_buff: [2048]usize = undefined; // 2 ^ 11
|
||||
|
||||
var main_split = std.mem.split(u8, line, ":");
|
||||
const left_value: usize = try std.fmt.parseInt(usize, main_split.next().?, 10);
|
||||
|
||||
var iter = std.mem.split(u8, main_split.next().?, " ");
|
||||
_ = iter.next(); // Skip the first space after :
|
||||
var len: usize = 0;
|
||||
while (iter.next()) |number| {
|
||||
defer len += 1;
|
||||
number_buff[len] = try std.fmt.parseInt(usize, number, 10);
|
||||
}
|
||||
|
||||
// So here I need to iterate over all combinaison of + and *, how can I do that ?
|
||||
// I can do a tree with 2 branch at each step, the result of the new node is the entry value + or * current node
|
||||
// But I need keep in memory all previous number, it's useless, I just need to know the value of all combinaison of the list
|
||||
// Im sure I can take advantages that operations are done left to right, it would be even easier
|
||||
// So I start with an empty usize list -> I take the 2 fist value -> I do + and * and add them to the list ->
|
||||
// -> Take the next number, and do + and * on all of what is inside the list, remove previous item and add them to the list
|
||||
// -> Do that over and over until the end and check how many left value are in the list
|
||||
|
||||
result_buff[0] = number_buff[0];
|
||||
for (0..len - 1) |i| {
|
||||
const number_count = std.math.pow(usize, 2, i); // This is the number of value in the result buffer
|
||||
|
||||
// For all number in the list, I add them + new value at the end of the list (number_count + index) and then replace themself by them * new_value
|
||||
for (0..number_count) |j| {
|
||||
result_buff[number_count + j] = result_buff[j] + number_buff[i + 1];
|
||||
result_buff[j] = result_buff[j] * number_buff[i + 1];
|
||||
}
|
||||
}
|
||||
|
||||
// Now I have all result of all combinaison of the list, I just need to check how many are left_value
|
||||
const all_results = result_buff[0..std.math.pow(usize, 2, len - 1)];
|
||||
|
||||
var total: usize = 0;
|
||||
for (all_results) |result| {
|
||||
if (result == left_value) {
|
||||
total += left_value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
96
day7/part2.zig
Normal file
96
day7/part2.zig
Normal file
@ -0,0 +1,96 @@
|
||||
const std = @import("std");
|
||||
const print = std.debug.print;
|
||||
|
||||
// Look like the complexity is 2 ^ (n - 1)
|
||||
// with n len of a int list
|
||||
//
|
||||
// So that mean I need to do
|
||||
|
||||
const Operator = struct {
|
||||
value: usize,
|
||||
list: []usize,
|
||||
};
|
||||
|
||||
pub fn main() !void {
|
||||
// const test_value = "190: 10 19\n3267: 81 40 27\n83: 17 5\n156: 15 6\n7290: 6 8 6 15\n161011: 16 10 13\n192: 17 8 14\n21037: 9 7 18 13\n292: 11 6 16 20";
|
||||
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
const allocator = gpa.allocator();
|
||||
defer {
|
||||
const deinit_status = gpa.deinit();
|
||||
if (deinit_status == .leak) @panic("TEST FAIL");
|
||||
}
|
||||
|
||||
const file = try std.fs.cwd().openFile("day7/input", .{});
|
||||
defer file.close();
|
||||
|
||||
const file_size = (try file.stat()).size;
|
||||
const buffer = try allocator.alloc(u8, file_size);
|
||||
defer allocator.free(buffer);
|
||||
|
||||
_ = try file.readAll(buffer);
|
||||
|
||||
var iter = std.mem.split(u8, buffer[0..file_size], "\n");
|
||||
var total: usize = 0;
|
||||
while (iter.next()) |line| {
|
||||
if (std.mem.eql(u8, line, "")) continue;
|
||||
total += try parseOperator(line);
|
||||
}
|
||||
|
||||
try std.testing.expectEqual(145149066755184, total);
|
||||
}
|
||||
|
||||
fn parseOperator(line: []const u8) !usize {
|
||||
var number_buff: [12]usize = undefined;
|
||||
var result_buff: [177147]usize = undefined; // 3 ^ 11
|
||||
|
||||
var main_split = std.mem.split(u8, line, ":");
|
||||
const left_value: usize = try std.fmt.parseInt(usize, main_split.next().?, 10);
|
||||
|
||||
var iter = std.mem.split(u8, main_split.next().?, " ");
|
||||
_ = iter.next(); // Skip the first space after :
|
||||
var len: usize = 0;
|
||||
while (iter.next()) |number| {
|
||||
defer len += 1;
|
||||
number_buff[len] = try std.fmt.parseInt(usize, number, 10);
|
||||
}
|
||||
|
||||
// So here I need to iterate over all combinaison of + and *, how can I do that ?
|
||||
// I can do a tree with 2 branch at each step, the result of the new node is the entry value + or * current node
|
||||
// But I need keep in memory all previous number, it's useless, I just need to know the value of all combinaison of the list
|
||||
// Im sure I can take advantages that operations are done left to right, it would be even easier
|
||||
// So I start with an empty usize list -> I take the 2 fist value -> I do + and * and add them to the list ->
|
||||
// -> Take the next number, and do + and * on all of what is inside the list, remove previous item and add them to the list
|
||||
// -> Do that over and over until the end and check how many left value are in the list
|
||||
|
||||
result_buff[0] = number_buff[0];
|
||||
for (0..len - 1) |i| {
|
||||
const number_count = std.math.pow(usize, 3, i); // This is the number of value in the result buffer
|
||||
|
||||
// For all number in the list, I add them + new value at the end of the list (number_count + index) and then replace themself by them * new_value
|
||||
for (0..number_count) |j| {
|
||||
result_buff[number_count + j] = result_buff[j] + number_buff[i + 1];
|
||||
result_buff[number_count * 2 + j] = try concat(result_buff[j], number_buff[i + 1]);
|
||||
result_buff[j] = result_buff[j] * number_buff[i + 1];
|
||||
}
|
||||
}
|
||||
|
||||
// Now I have all result of all combinaison of the list, I just need to check how many are left_value
|
||||
const all_results = result_buff[0..std.math.pow(usize, 3, len - 1)];
|
||||
|
||||
var total: usize = 0;
|
||||
for (all_results) |result| {
|
||||
if (result == left_value) {
|
||||
total += left_value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
fn concat(left: usize, right: usize) !usize {
|
||||
var buff: [16]u8 = undefined;
|
||||
const value_str = try std.fmt.bufPrint(&buff, "{d}{d}", .{ left, right });
|
||||
return try std.fmt.parseInt(usize, value_str, 10);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user