euler-manager 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.travis.yml +2 -1
- data/README.md +27 -21
- data/Rakefile +3 -2
- data/config/config.rb +6 -2
- data/data/answers.yml +431 -430
- data/data/images/{p_015.gif → p015.gif} +0 -0
- data/data/images/{p_068_1.gif → p068_1.gif} +0 -0
- data/data/images/{p_068_2.gif → p068_2.gif} +0 -0
- data/data/images/{p_085.gif → p085.gif} +0 -0
- data/data/images/{p_086.gif → p086.gif} +0 -0
- data/data/images/{p_090.gif → p090.gif} +0 -0
- data/data/images/{p_091_1.gif → p091_1.gif} +0 -0
- data/data/images/{p_091_2.gif → p091_2.gif} +0 -0
- data/data/images/{p_107_1.gif → p107_1.gif} +0 -0
- data/data/images/{p_107_2.gif → p107_2.gif} +0 -0
- data/data/images/{p_109.gif → p109.gif} +0 -0
- data/data/images/{p_126.gif → p126.gif} +0 -0
- data/data/images/{p_128.gif → p128.gif} +0 -0
- data/data/images/{p_138.gif → p138.gif} +0 -0
- data/data/images/{p_139.gif → p139.gif} +0 -0
- data/data/images/{p_143_torricelli.gif → p143_torricelli.gif} +0 -0
- data/data/images/{p_144_1.gif → p144_1.gif} +0 -0
- data/data/images/{p_144_2.gif → p144_2.gif} +0 -0
- data/data/images/{p_147.gif → p147.gif} +0 -0
- data/data/images/{p_150.gif → p150.gif} +0 -0
- data/data/images/{p_151.gif → p151.gif} +0 -0
- data/data/images/{p_152_sum.gif → p152_sum.gif} +0 -0
- data/data/images/{p_153_formule1.gif → p153_formule1.gif} +0 -0
- data/data/images/{p_153_formule2.gif → p153_formule2.gif} +0 -0
- data/data/images/{p_153_formule5.gif → p153_formule5.gif} +0 -0
- data/data/images/{p_153_formule6.gif → p153_formule6.gif} +0 -0
- data/data/images/{p_154_pyramid.gif → p154_pyramid.gif} +0 -0
- data/data/images/{p_155_capacitors1.gif → p155_capacitors1.gif} +0 -0
- data/data/images/{p_155_capsform.gif → p155_capsform.gif} +0 -0
- data/data/images/{p_155_capsmu.gif → p155_capsmu.gif} +0 -0
- data/data/images/{p_161_k9.gif → p161_k9.gif} +0 -0
- data/data/images/{p_161_trio1.gif → p161_trio1.gif} +0 -0
- data/data/images/{p_161_trio3.gif → p161_trio3.gif} +0 -0
- data/data/images/{p_163.gif → p163.gif} +0 -0
- data/data/images/{p_173_square_laminas.gif → p173_square_laminas.gif} +0 -0
- data/data/images/{p_177_quad.gif → p177_quad.gif} +0 -0
- data/data/images/{p_184.gif → p184.gif} +0 -0
- data/data/images/{p_189_colours.gif → p189_colours.gif} +0 -0
- data/data/images/{p_189_grid.gif → p189_grid.gif} +0 -0
- data/data/images/{p_194_Fig.png → p194_Fig.png} +0 -0
- data/data/images/{p_194_GraphA.png → p194_GraphA.png} +0 -0
- data/data/images/{p_194_GraphB.png → p194_GraphB.png} +0 -0
- data/data/images/{p_199_circles_in_circles.gif → p199_circles_in_circles.gif} +0 -0
- data/data/images/{p_201_laserbeam.gif → p201_laserbeam.gif} +0 -0
- data/data/images/{p_208_robotwalk.gif → p208_robotwalk.gif} +0 -0
- data/data/images/{p_215_crackfree.gif → p215_crackfree.gif} +0 -0
- data/data/images/{p_220.gif → p220.gif} +0 -0
- data/data/images/{p_226_formula.gif → p226_formula.gif} +0 -0
- data/data/images/{p_226_scoop2.gif → p226_scoop2.gif} +0 -0
- data/data/images/{p_228.png → p228.png} +0 -0
- data/data/images/{p_237.gif → p237.gif} +0 -0
- data/data/images/{p_244_example.gif → p244_example.gif} +0 -0
- data/data/images/{p_244_start.gif → p244_start.gif} +0 -0
- data/data/images/{p_244_target.gif → p244_target.gif} +0 -0
- data/data/images/{p_246_anim.gif → p246_anim.gif} +0 -0
- data/data/images/{p_246_ellipse.gif → p246_ellipse.gif} +0 -0
- data/data/images/{p_247_hypersquares.gif → p247_hypersquares.gif} +0 -0
- data/data/images/{p_251_cardano.gif → p251_cardano.gif} +0 -0
- data/data/images/{p_252_convexhole.gif → p252_convexhole.gif} +0 -0
- data/data/images/{p_255_Example.gif → p255_Example.gif} +0 -0
- data/data/images/{p_255_Heron.gif → p255_Heron.gif} +0 -0
- data/data/images/{p_256_tatami3.gif → p256_tatami3.gif} +0 -0
- data/data/images/{p_257_bisector.gif → p257_bisector.gif} +0 -0
- data/data/images/{p_262_formula1.gif → p262_formula1.gif} +0 -0
- data/data/images/{p_264_TriangleCentres.gif → p264_TriangleCentres.gif} +0 -0
- data/data/images/{p_265_BinaryCircles.gif → p265_BinaryCircles.gif} +0 -0
- data/data/images/{p_270_CutSquare.gif → p270_CutSquare.gif} +0 -0
- data/data/images/{p_275_sculptures2.gif → p275_sculptures2.gif} +0 -0
- data/data/images/{p_281_pizza.gif → p281_pizza.gif} +0 -0
- data/data/images/{p_282_formula.gif → p282_formula.gif} +0 -0
- data/data/images/{p_282formula3.gif → p282formula3.gif} +0 -0
- data/data/images/{p_287_quadtree.gif → p287_quadtree.gif} +0 -0
- data/data/images/{p_289_euler.gif → p289_euler.gif} +0 -0
- data/data/images/{p_291_formula.gif → p291_formula.gif} +0 -0
- data/data/images/{p_299_ThreeSimTri.gif → p299_ThreeSimTri.gif} +0 -0
- data/data/images/{p_300_protein.gif → p300_protein.gif} +0 -0
- data/data/images/{p_306_pstrip.gif → p306_pstrip.gif} +0 -0
- data/data/images/{p_309_ladders.gif → p309_ladders.gif} +0 -0
- data/data/images/{p_311_biclinic.gif → p311_biclinic.gif} +0 -0
- data/data/images/{p_312_sierpinsky8t.gif → p312_sierpinsky8t.gif} +0 -0
- data/data/images/{p_312_sierpinskyAt.gif → p312_sierpinskyAt.gif} +0 -0
- data/data/images/{p_313_sliding_game_1.gif → p313_sliding_game_1.gif} +0 -0
- data/data/images/{p_313_sliding_game_2.gif → p313_sliding_game_2.gif} +0 -0
- data/data/images/{p_314_landgrab.gif → p314_landgrab.gif} +0 -0
- data/data/images/{p_315_clocks.gif → p315_clocks.gif} +0 -0
- data/data/images/{p_316_decexp1.gif → p316_decexp1.gif} +0 -0
- data/data/images/{p_316_decexp2.gif → p316_decexp2.gif} +0 -0
- data/data/images/{p_316_decexp3.gif → p316_decexp3.gif} +0 -0
- data/data/images/{p_321_swapping_counters_1.gif → p321_swapping_counters_1.gif} +0 -0
- data/data/images/{p_321_swapping_counters_2.gif → p321_swapping_counters_2.gif} +0 -0
- data/data/images/{p_326_formula1.gif → p326_formula1.gif} +0 -0
- data/data/images/{p_326_formula2.gif → p326_formula2.gif} +0 -0
- data/data/images/{p_327_rooms_of_doom.gif → p327_rooms_of_doom.gif} +0 -0
- data/data/images/{p_328_sum1.gif → p328_sum1.gif} +0 -0
- data/data/images/{p_328_sum2.gif → p328_sum2.gif} +0 -0
- data/data/images/{p_330_formula.gif → p330_formula.gif} +0 -0
- data/data/images/{p_331_crossflips1.gif → p331_crossflips1.gif} +0 -0
- data/data/images/{p_331_crossflips2.gif → p331_crossflips2.gif} +0 -0
- data/data/images/{p_331_crossflips3.gif → p331_crossflips3.gif} +0 -0
- data/data/images/{p_332_spherical.jpg → p332_spherical.jpg} +0 -0
- data/data/images/{p_332_sum.gif → p332_sum.gif} +0 -0
- data/data/images/{p_334_beans.gif → p334_beans.gif} +0 -0
- data/data/images/{p_334_cases.gif → p334_cases.gif} +0 -0
- data/data/images/{p_334_lfloor.gif → p334_lfloor.gif} +0 -0
- data/data/images/{p_334_oplus.gif → p334_oplus.gif} +0 -0
- data/data/images/{p_334_rfloor.gif → p334_rfloor.gif} +0 -0
- data/data/images/{p_335_mancala.gif → p335_mancala.gif} +0 -0
- data/data/images/{p_335_sum.gif → p335_sum.gif} +0 -0
- data/data/images/{p_336_maximix.gif → p336_maximix.gif} +0 -0
- data/data/images/{p_338_gridpaper.gif → p338_gridpaper.gif} +0 -0
- data/data/images/{p_340_formula.gif → p340_formula.gif} +0 -0
- data/data/images/{p_344_silverdollar.gif → p344_silverdollar.gif} +0 -0
- data/data/images/{p_351_hexorchard.png → p351_hexorchard.png} +0 -0
- data/data/images/{p_354_bee_honeycomb.png → p354_bee_honeycomb.png} +0 -0
- data/data/images/{p_356_cubicpoly1.gif → p356_cubicpoly1.gif} +0 -0
- data/data/images/{p_356_cubicpoly2.gif → p356_cubicpoly2.gif} +0 -0
- data/data/images/{p_361_Thue-Morse1.gif → p361_Thue-Morse1.gif} +0 -0
- data/data/images/p363_bezier.png +0 -0
- data/data/images/{p_364_comf_dist.gif → p364_comf_dist.gif} +0 -0
- data/data/images/{p_372_pencilray1.jpg → p372_pencilray1.jpg} +0 -0
- data/data/images/{p_372_pencilray2.gif → p372_pencilray2.gif} +0 -0
- data/data/images/{p_380_mazes.gif → p380_mazes.gif} +0 -0
- data/data/images/{p_384_formula.gif → p384_formula.gif} +0 -0
- data/data/images/{p_385_ellipsetriangle.png → p385_ellipsetriangle.png} +0 -0
- data/data/images/{p_394_eatpie.gif → p394_eatpie.gif} +0 -0
- data/data/images/{p_395_pythagorean.gif → p395_pythagorean.gif} +0 -0
- data/data/images/{p_404_c_ellipse.gif → p404_c_ellipse.gif} +0 -0
- data/data/images/{p_405_tile1.png → p405_tile1.png} +0 -0
- data/data/images/{p_405_tile2.gif → p405_tile2.gif} +0 -0
- data/data/images/{p_420_matrix.gif → p420_matrix.gif} +0 -0
- data/data/images/{p_424_kakuro1.gif → p424_kakuro1.gif} +0 -0
- data/data/images/{p_426_baxball1.gif → p426_baxball1.gif} +0 -0
- data/data/images/{p_426_baxball2.gif → p426_baxball2.gif} +0 -0
- data/data/images/{p_430_flips.gif → p430_flips.gif} +0 -0
- data/data/problems/1.yml +1 -1
- data/data/problems/10.yml +6 -4
- data/data/problems/100.yml +2 -2
- data/data/problems/101.yml +15 -19
- data/data/problems/102.yml +9 -10
- data/data/problems/103.yml +7 -8
- data/data/problems/104.yml +2 -2
- data/data/problems/105.yml +4 -4
- data/data/problems/106.yml +3 -3
- data/data/problems/107.yml +12 -12
- data/data/problems/108.yml +8 -14
- data/data/problems/109.yml +12 -11
- data/data/problems/11.yml +21 -24
- data/data/problems/110.yml +9 -10
- data/data/problems/111.yml +1 -1
- data/data/problems/112.yml +1 -1
- data/data/problems/113.yml +1 -1
- data/data/problems/114.yml +2 -2
- data/data/problems/115.yml +1 -1
- data/data/problems/116.yml +11 -11
- data/data/problems/117.yml +3 -3
- data/data/problems/118.yml +1 -1
- data/data/problems/119.yml +1 -1
- data/data/problems/12.yml +6 -6
- data/data/problems/120.yml +4 -4
- data/data/problems/121.yml +1 -1
- data/data/problems/122.yml +10 -18
- data/data/problems/123.yml +3 -3
- data/data/problems/124.yml +17 -19
- data/data/problems/125.yml +1 -1
- data/data/problems/126.yml +12 -11
- data/data/problems/127.yml +8 -8
- data/data/problems/128.yml +3 -3
- data/data/problems/129.yml +1 -1
- data/data/problems/13.yml +1 -1
- data/data/problems/130.yml +6 -7
- data/data/problems/131.yml +2 -2
- data/data/problems/132.yml +2 -2
- data/data/problems/133.yml +2 -2
- data/data/problems/134.yml +3 -3
- data/data/problems/135.yml +3 -3
- data/data/problems/136.yml +3 -3
- data/data/problems/137.yml +9 -9
- data/data/problems/138.yml +5 -5
- data/data/problems/139.yml +2 -2
- data/data/problems/14.yml +8 -13
- data/data/problems/140.yml +5 -5
- data/data/problems/141.yml +2 -2
- data/data/problems/142.yml +3 -4
- data/data/problems/143.yml +3 -3
- data/data/problems/144.yml +4 -4
- data/data/problems/145.yml +1 -1
- data/data/problems/146.yml +1 -1
- data/data/problems/147.yml +6 -6
- data/data/problems/148.yml +8 -8
- data/data/problems/149.yml +12 -25
- data/data/problems/15.yml +4 -4
- data/data/problems/150.yml +16 -17
- data/data/problems/151.yml +3 -3
- data/data/problems/152.yml +2 -2
- data/data/problems/153.yml +30 -35
- data/data/problems/154.yml +16 -12
- data/data/problems/155.yml +7 -6
- data/data/problems/156.yml +8 -9
- data/data/problems/157.yml +4 -6
- data/data/problems/158.yml +12 -12
- data/data/problems/159.yml +14 -16
- data/data/problems/16.yml +1 -1
- data/data/problems/160.yml +3 -3
- data/data/problems/161.yml +6 -6
- data/data/problems/162.yml +3 -3
- data/data/problems/163.yml +3 -3
- data/data/problems/164.yml +3 -4
- data/data/problems/165.yml +12 -12
- data/data/problems/166.yml +6 -8
- data/data/problems/167.yml +6 -7
- data/data/problems/168.yml +5 -7
- data/data/problems/169.yml +2 -2
- data/data/problems/17.yml +5 -5
- data/data/problems/170.yml +9 -10
- data/data/problems/171.yml +4 -5
- data/data/problems/172.yml +3 -4
- data/data/problems/173.yml +2 -2
- data/data/problems/174.yml +4 -4
- data/data/problems/175.yml +12 -13
- data/data/problems/176.yml +1 -1
- data/data/problems/177.yml +2 -2
- data/data/problems/178.yml +6 -6
- data/data/problems/179.yml +4 -4
- data/data/problems/18.yml +11 -12
- data/data/problems/180.yml +9 -12
- data/data/problems/181.yml +1 -1
- data/data/problems/182.yml +14 -16
- data/data/problems/183.yml +12 -15
- data/data/problems/184.yml +3 -3
- data/data/problems/185.yml +11 -11
- data/data/problems/186.yml +10 -11
- data/data/problems/187.yml +8 -8
- data/data/problems/188.yml +4 -4
- data/data/problems/189.yml +4 -4
- data/data/problems/19.yml +1 -1
- data/data/problems/190.yml +2 -2
- data/data/problems/191.yml +5 -5
- data/data/problems/192.yml +10 -14
- data/data/problems/193.yml +1 -1
- data/data/problems/194.yml +10 -10
- data/data/problems/195.yml +5 -6
- data/data/problems/196.yml +15 -14
- data/data/problems/197.yml +7 -8
- data/data/problems/198.yml +8 -14
- data/data/problems/199.yml +3 -3
- data/data/problems/2.yml +8 -7
- data/data/problems/20.yml +4 -9
- data/data/problems/200.yml +7 -8
- data/data/problems/201.yml +14 -14
- data/data/problems/202.yml +2 -2
- data/data/problems/203.yml +21 -13
- data/data/problems/204.yml +7 -7
- data/data/problems/205.yml +6 -6
- data/data/problems/206.yml +1 -1
- data/data/problems/207.yml +10 -10
- data/data/problems/208.yml +4 -5
- data/data/problems/209.yml +6 -6
- data/data/problems/21.yml +7 -7
- data/data/problems/210.yml +6 -6
- data/data/problems/211.yml +2 -2
- data/data/problems/212.yml +16 -20
- data/data/problems/213.yml +6 -6
- data/data/problems/214.yml +9 -10
- data/data/problems/215.yml +5 -5
- data/data/problems/216.yml +5 -6
- data/data/problems/217.yml +7 -12
- data/data/problems/218.yml +9 -10
- data/data/problems/219.yml +5 -5
- data/data/problems/22.yml +3 -3
- data/data/problems/220.yml +15 -16
- data/data/problems/221.yml +8 -8
- data/data/problems/222.yml +1 -1
- data/data/problems/223.yml +5 -6
- data/data/problems/224.yml +5 -6
- data/data/problems/225.yml +2 -2
- data/data/problems/226.yml +8 -9
- data/data/problems/227.yml +3 -3
- data/data/problems/228.yml +17 -16
- data/data/problems/229.yml +16 -19
- data/data/problems/23.yml +1 -3
- data/data/problems/230.yml +9 -11
- data/data/problems/231.yml +5 -8
- data/data/problems/232.yml +1 -1
- data/data/problems/233.yml +2 -2
- data/data/problems/234.yml +11 -13
- data/data/problems/235.yml +2 -2
- data/data/problems/236.yml +13 -19
- data/data/problems/237.yml +4 -4
- data/data/problems/238.yml +16 -19
- data/data/problems/239.yml +2 -2
- data/data/problems/24.yml +2 -2
- data/data/problems/240.yml +7 -7
- data/data/problems/241.yml +4 -7
- data/data/problems/242.yml +5 -6
- data/data/problems/243.yml +13 -13
- data/data/problems/244.yml +15 -15
- data/data/problems/245.yml +8 -20
- data/data/problems/246.yml +11 -12
- data/data/problems/247.yml +11 -12
- data/data/problems/248.yml +1 -1
- data/data/problems/249.yml +2 -2
- data/data/problems/25.yml +8 -12
- data/data/problems/250.yml +4 -4
- data/data/problems/251.yml +4 -4
- data/data/problems/252.yml +13 -20
- data/data/problems/253.yml +9 -8
- data/data/problems/254.yml +3 -3
- data/data/problems/255.yml +15 -37
- data/data/problems/256.yml +19 -24
- data/data/problems/257.yml +8 -10
- data/data/problems/258.yml +9 -7
- data/data/problems/259.yml +1 -1
- data/data/problems/26.yml +11 -11
- data/data/problems/260.yml +15 -18
- data/data/problems/261.yml +15 -13
- data/data/problems/262.yml +15 -14
- data/data/problems/263.yml +13 -13
- data/data/problems/264.yml +10 -11
- data/data/problems/265.yml +2 -2
- data/data/problems/266.yml +7 -7
- data/data/problems/267.yml +1 -1
- data/data/problems/268.yml +1 -1
- data/data/problems/269.yml +3 -3
- data/data/problems/27.yml +12 -15
- data/data/problems/270.yml +4 -4
- data/data/problems/271.yml +5 -6
- data/data/problems/272.yml +5 -7
- data/data/problems/273.yml +4 -4
- data/data/problems/274.yml +4 -5
- data/data/problems/275.yml +4 -4
- data/data/problems/276.yml +5 -6
- data/data/problems/277.yml +7 -8
- data/data/problems/278.yml +16 -19
- data/data/problems/279.yml +3 -4
- data/data/problems/28.yml +6 -6
- data/data/problems/280.yml +2 -2
- data/data/problems/281.yml +4 -6
- data/data/problems/282.yml +3 -3
- data/data/problems/283.yml +6 -7
- data/data/problems/284.yml +7 -8
- data/data/problems/285.yml +4 -4
- data/data/problems/286.yml +2 -2
- data/data/problems/287.yml +19 -24
- data/data/problems/288.yml +7 -8
- data/data/problems/289.yml +11 -11
- data/data/problems/29.yml +10 -13
- data/data/problems/290.yml +3 -4
- data/data/problems/291.yml +4 -4
- data/data/problems/292.yml +5 -6
- data/data/problems/293.yml +9 -10
- data/data/problems/294.yml +12 -7
- data/data/problems/295.yml +11 -13
- data/data/problems/296.yml +9 -9
- data/data/problems/297.yml +7 -9
- data/data/problems/298.yml +32 -40
- data/data/problems/299.yml +17 -19
- data/data/problems/3.yml +6 -4
- data/data/problems/30.yml +1 -1
- data/data/problems/300.yml +14 -14
- data/data/problems/301.yml +9 -10
- data/data/problems/302.yml +5 -5
- data/data/problems/303.yml +4 -4
- data/data/problems/304.yml +7 -9
- data/data/problems/305.yml +4 -5
- data/data/problems/306.yml +10 -12
- data/data/problems/307.yml +4 -4
- data/data/problems/308.yml +4 -4
- data/data/problems/309.yml +11 -9
- data/data/problems/31.yml +2 -2
- data/data/problems/310.yml +6 -9
- data/data/problems/311.yml +10 -12
- data/data/problems/312.yml +10 -9
- data/data/problems/313.yml +5 -5
- data/data/problems/314.yml +8 -9
- data/data/problems/315.yml +35 -38
- data/data/problems/316.yml +17 -16
- data/data/problems/317.yml +8 -7
- data/data/problems/318.yml +14 -29
- data/data/problems/319.yml +10 -12
- data/data/problems/32.yml +2 -2
- data/data/problems/320.yml +2 -2
- data/data/problems/321.yml +12 -11
- data/data/problems/322.yml +4 -5
- data/data/problems/323.yml +7 -9
- data/data/problems/324.yml +7 -9
- data/data/problems/325.yml +2 -2
- data/data/problems/326.yml +3 -3
- data/data/problems/327.yml +19 -22
- data/data/problems/328.yml +23 -23
- data/data/problems/329.yml +6 -6
- data/data/problems/33.yml +2 -2
- data/data/problems/330.yml +12 -16
- data/data/problems/331.yml +16 -18
- data/data/problems/332.yml +10 -10
- data/data/problems/333.yml +15 -16
- data/data/problems/334.yml +17 -19
- data/data/problems/335.yml +3 -3
- data/data/problems/336.yml +5 -5
- data/data/problems/337.yml +7 -8
- data/data/problems/338.yml +18 -24
- data/data/problems/339.yml +3 -3
- data/data/problems/34.yml +1 -1
- data/data/problems/340.yml +7 -7
- data/data/problems/341.yml +4 -5
- data/data/problems/342.yml +6 -9
- data/data/problems/343.yml +8 -13
- data/data/problems/344.yml +8 -8
- data/data/problems/345.yml +17 -16
- data/data/problems/346.yml +6 -6
- data/data/problems/347.yml +8 -10
- data/data/problems/348.yml +5 -5
- data/data/problems/349.yml +4 -4
- data/data/problems/35.yml +1 -1
- data/data/problems/350.yml +5 -6
- data/data/problems/351.yml +7 -7
- data/data/problems/352.yml +13 -14
- data/data/problems/353.yml +2 -2
- data/data/problems/354.yml +6 -8
- data/data/problems/355.yml +4 -4
- data/data/problems/356.yml +5 -4
- data/data/problems/357.yml +3 -3
- data/data/problems/358.yml +11 -16
- data/data/problems/359.yml +12 -12
- data/data/problems/36.yml +1 -1
- data/data/problems/360.yml +4 -4
- data/data/problems/361.yml +9 -9
- data/data/problems/362.yml +8 -15
- data/data/problems/363.yml +29 -29
- data/data/problems/364.yml +4 -4
- data/data/problems/365.yml +3 -3
- data/data/problems/366.yml +16 -19
- data/data/problems/367.yml +11 -11
- data/data/problems/368.yml +14 -18
- data/data/problems/369.yml +2 -2
- data/data/problems/37.yml +1 -1
- data/data/problems/370.yml +4 -4
- data/data/problems/371.yml +5 -5
- data/data/problems/372.yml +6 -7
- data/data/problems/373.yml +10 -6
- data/data/problems/374.yml +11 -13
- data/data/problems/375.yml +11 -14
- data/data/problems/376.yml +19 -19
- data/data/problems/377.yml +5 -5
- data/data/problems/378.yml +8 -9
- data/data/problems/379.yml +10 -9
- data/data/problems/38.yml +9 -11
- data/data/problems/380.yml +8 -10
- data/data/problems/381.yml +6 -10
- data/data/problems/382.yml +12 -13
- data/data/problems/383.yml +5 -6
- data/data/problems/384.yml +14 -18
- data/data/problems/385.yml +12 -14
- data/data/problems/386.yml +4 -5
- data/data/problems/387.yml +13 -14
- data/data/problems/388.yml +6 -6
- data/data/problems/389.yml +3 -3
- data/data/problems/39.yml +2 -2
- data/data/problems/390.yml +12 -8
- data/data/problems/391.yml +18 -20
- data/data/problems/392.yml +9 -9
- data/data/problems/393.yml +8 -8
- data/data/problems/394.yml +14 -15
- data/data/problems/395.yml +16 -15
- data/data/problems/396.yml +13 -16
- data/data/problems/397.yml +4 -6
- data/data/problems/398.yml +8 -9
- data/data/problems/399.yml +18 -19
- data/data/problems/4.yml +2 -2
- data/data/problems/40.yml +2 -2
- data/data/problems/400.yml +10 -9
- data/data/problems/401.yml +6 -7
- data/data/problems/402.yml +7 -9
- data/data/problems/403.yml +9 -10
- data/data/problems/404.yml +8 -10
- data/data/problems/405.yml +10 -10
- data/data/problems/406.yml +24 -30
- data/data/problems/407.yml +6 -10
- data/data/problems/408.yml +10 -10
- data/data/problems/409.yml +12 -7
- data/data/problems/41.yml +1 -1
- data/data/problems/410.yml +5 -6
- data/data/problems/411.yml +10 -13
- data/data/problems/412.yml +10 -10
- data/data/problems/413.yml +6 -7
- data/data/problems/414.yml +26 -28
- data/data/problems/415.yml +12 -13
- data/data/problems/416.yml +4 -4
- data/data/problems/417.yml +12 -14
- data/data/problems/418.yml +13 -10
- data/data/problems/419.yml +11 -13
- data/data/problems/42.yml +2 -2
- data/data/problems/420.yml +8 -8
- data/data/problems/421.yml +8 -13
- data/data/problems/422.yml +8 -8
- data/data/problems/423.yml +11 -12
- data/data/problems/424.yml +10 -10
- data/data/problems/425.yml +7 -7
- data/data/problems/426.yml +9 -9
- data/data/problems/427.yml +12 -13
- data/data/problems/428.yml +17 -20
- data/data/problems/429.yml +5 -5
- data/data/problems/43.yml +1 -1
- data/data/problems/430.yml +6 -7
- data/data/problems/44.yml +4 -4
- data/data/problems/45.yml +4 -4
- data/data/problems/46.yml +6 -9
- data/data/problems/47.yml +5 -8
- data/data/problems/48.yml +1 -1
- data/data/problems/49.yml +1 -1
- data/data/problems/5.yml +1 -1
- data/data/problems/50.yml +1 -1
- data/data/problems/51.yml +1 -3
- data/data/problems/52.yml +1 -1
- data/data/problems/53.yml +6 -12
- data/data/problems/54.yml +17 -16
- data/data/problems/55.yml +3 -3
- data/data/problems/56.yml +2 -2
- data/data/problems/57.yml +9 -10
- data/data/problems/58.yml +11 -11
- data/data/problems/59.yml +2 -2
- data/data/problems/6.yml +2 -2
- data/data/problems/60.yml +1 -1
- data/data/problems/61.yml +7 -7
- data/data/problems/62.yml +1 -1
- data/data/problems/63.yml +1 -1
- data/data/problems/64.yml +30 -44
- data/data/problems/65.yml +19 -19
- data/data/problems/66.yml +9 -12
- data/data/problems/67.yml +9 -9
- data/data/problems/68.yml +3 -3
- data/data/problems/69.yml +3 -3
- data/data/problems/7.yml +1 -1
- data/data/problems/70.yml +4 -4
- data/data/problems/71.yml +4 -4
- data/data/problems/72.yml +4 -4
- data/data/problems/73.yml +4 -4
- data/data/problems/74.yml +9 -16
- data/data/problems/75.yml +3 -3
- data/data/problems/76.yml +1 -1
- data/data/problems/77.yml +1 -1
- data/data/problems/78.yml +8 -8
- data/data/problems/79.yml +2 -2
- data/data/problems/8.yml +12 -13
- data/data/problems/80.yml +1 -1
- data/data/problems/81.yml +8 -10
- data/data/problems/82.yml +10 -11
- data/data/problems/83.yml +10 -11
- data/data/problems/84.yml +45 -37
- data/data/problems/85.yml +2 -2
- data/data/problems/86.yml +8 -8
- data/data/problems/87.yml +1 -1
- data/data/problems/88.yml +11 -22
- data/data/problems/89.yml +14 -14
- data/data/problems/9.yml +6 -7
- data/data/problems/90.yml +7 -7
- data/data/problems/91.yml +6 -8
- data/data/problems/92.yml +6 -11
- data/data/problems/93.yml +11 -12
- data/data/problems/94.yml +1 -1
- data/data/problems/95.yml +2 -2
- data/data/problems/96.yml +7 -9
- data/data/problems/97.yml +3 -3
- data/data/problems/98.yml +2 -2
- data/data/problems/99.yml +4 -4
- data/euler-manager.gemspec +2 -2
- data/example/1/README.md +1 -1
- data/example/1/ruby/1.rb +7 -1
- data/example/1/scala/1.scala +1 -1
- data/example/15/README.md +4 -4
- data/example/2/README.md +1 -4
- data/languages/c.rb +22 -0
- data/languages/elixir.rb +25 -0
- data/languages/java.rb +3 -2
- data/languages/perl.rb +25 -0
- data/languages/php.rb +25 -0
- data/lib/euler/version.rb +1 -1
- data/rake/clean.rake +0 -2
- data/rake/sha_answers.rake +20 -0
- data/rake/update.rake +5 -2
- data/spec/euler_spec.rb +5 -0
- data/templates/c.c +11 -0
- data/templates/elixir.ex +1 -0
- data/templates/perl.pl +3 -0
- data/templates/php.php +5 -0
- metadata +148 -164
- data/data/images/blackdot.gif +0 -0
- data/data/images/bracket_left.gif +0 -0
- data/data/images/bracket_right.gif +0 -0
- data/data/images/sod_13.gif +0 -119
- data/data/images/symbol_asymp.gif +0 -0
- data/data/images/symbol_cong.gif +0 -0
- data/data/images/symbol_ge.gif +0 -0
- data/data/images/symbol_gt.gif +0 -0
- data/data/images/symbol_implies.gif +0 -0
- data/data/images/symbol_lceil.gif +0 -0
- data/data/images/symbol_le.gif +0 -0
- data/data/images/symbol_lfloor.gif +0 -0
- data/data/images/symbol_lt.gif +0 -0
- data/data/images/symbol_maps.gif +0 -0
- data/data/images/symbol_minus.gif +0 -0
- data/data/images/symbol_ne.gif +0 -0
- data/data/images/symbol_plusmn.gif +0 -0
- data/data/images/symbol_radic.gif +0 -0
- data/data/images/symbol_rceil.gif +0 -0
- data/data/images/symbol_rfloor.gif +0 -0
- data/data/images/symbol_sum.gif +0 -0
- data/data/images/symbol_times.gif +0 -0
- data/example/1/haskell/1.hs +0 -3
- data/example/12/README.md +0 -20
- data/example/12/haskell/12.hs +0 -3
- data/example/lib/Euler.hs +0 -1
data/data/problems/74.yml
CHANGED
@@ -1,22 +1,15 @@
|
|
1
1
|
---
|
2
2
|
:id: 74
|
3
3
|
:name: Digit factorial chains
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=74
|
5
5
|
:content: "The number 145 is well known for the property that the sum of the factorial
|
6
6
|
of its digits is equal to 145:\n\n1! + 4! + 5! = 1 + 24 + 120 = 145\n\nPerhaps less
|
7
7
|
well known is 169, in that it produces the longest chain of numbers that link back
|
8
|
-
to 169; it turns out that there are only three such loops that exist:\n\n169
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
363601 ( ![→]({{ images_dir }}/symbol_maps.gif) 1454) \n78 ![→]({{ images_dir }}/symbol_maps.gif)
|
17
|
-
45360 ![→]({{ images_dir }}/symbol_maps.gif) 871 ![→]({{ images_dir }}/symbol_maps.gif)
|
18
|
-
45361 ( ![→]({{ images_dir }}/symbol_maps.gif) 871) \n540 ![→]({{ images_dir }}/symbol_maps.gif)
|
19
|
-
145 ( ![→]({{ images_dir }}/symbol_maps.gif) 145)\n\nStarting with 69 produces a
|
20
|
-
chain of five non-repeating terms, but the longest non-repeating chain with a starting
|
21
|
-
number below one million is sixty terms.\n\nHow many chains, with a starting number
|
22
|
-
below one million, contain exactly sixty non-repeating terms?\n\n"
|
8
|
+
to 169; it turns out that there are only three such loops that exist:\n\n169 → 363601
|
9
|
+
→ 1454 → 169 \n871 → 45361 → 871 \n872 → 45362 → 872\n\nIt is not difficult to
|
10
|
+
prove that EVERY starting number will eventually get stuck in a loop. For example,\n\n69
|
11
|
+
→ 363600 → 1454 → 169 → 363601 (→ 1454) \n78 → 45360 → 871 → 45361 (→ 871) \n540
|
12
|
+
→ 145 (→ 145)\n\nStarting with 69 produces a chain of five non-repeating terms,
|
13
|
+
but the longest non-repeating chain with a starting number below one million is
|
14
|
+
sixty terms.\n\nHow many chains, with a starting number below one million, contain
|
15
|
+
exactly sixty non-repeating terms?\n\n"
|
data/data/problems/75.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 75
|
3
3
|
:name: Singular integer right triangles
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=75
|
5
5
|
:content: "It turns out that 12 cm is the smallest length of wire that can be bent
|
6
6
|
to form an integer sided right angle triangle in exactly one way, but there are
|
7
7
|
many more examples.\n\n**12 cm** : (3,4,5) \n**24 cm** : (6,8,10) \n**30 cm**
|
@@ -10,5 +10,5 @@
|
|
10
10
|
right angle triangle, and other lengths allow more than one solution to be found;
|
11
11
|
for example, using 120 cm it is possible to form exactly three different integer
|
12
12
|
sided right angle triangles.\n\n**120 cm** : (30,40,50), (20,48,52), (24,45,51)\n\nGiven
|
13
|
-
that L is the length of the wire, for how many values of L
|
14
|
-
|
13
|
+
that L is the length of the wire, for how many values of L ≤ 1,500,000 can exactly
|
14
|
+
one integer sided right angle triangle be formed?\n\n"
|
data/data/problems/76.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 76
|
3
3
|
:name: Counting summations
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=76
|
5
5
|
:content: "It is possible to write five as a sum in exactly six different ways:\n\n4
|
6
6
|
+ 1 \n3 + 2 \n3 + 1 + 1 \n2 + 2 + 1 \n2 + 1 + 1 + 1 \n1 + 1 + 1 + 1 + 1\n\nHow
|
7
7
|
many different ways can one hundred be written as a sum of at least two positive
|
data/data/problems/77.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 77
|
3
3
|
:name: Prime summations
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=77
|
5
5
|
:content: "It is possible to write ten as the sum of primes in exactly five different
|
6
6
|
ways:\n\n7 + 3 \n5 + 5 \n5 + 3 + 2 \n3 + 3 + 2 + 2 \n2 + 2 + 2 + 2 + 2\n\nWhat
|
7
7
|
is the first value which can be written as the sum of primes in over five thousand
|
data/data/problems/78.yml
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
---
|
2
2
|
:id: 78
|
3
3
|
:name: Coin partitions
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=78
|
5
5
|
:content: |+
|
6
|
-
Let p(_n_) represent the number of different ways in which _n_ coins can be separated into piles. For example, five coins can separated into piles in exactly seven different ways, so p(5)=7.
|
6
|
+
Let p(_n_) represent the number of different ways in which _n_ coins can be separated into piles. For example, five coins can be separated into piles in exactly seven different ways, so p(5)=7.
|
7
7
|
|
8
8
|
| OOOOO |
|
9
|
-
| OOOO
|
10
|
-
| OOO
|
11
|
-
| OOO
|
12
|
-
| OO
|
13
|
-
| OO
|
14
|
-
| O
|
9
|
+
| OOOO O |
|
10
|
+
| OOO OO |
|
11
|
+
| OOO O O |
|
12
|
+
| OO OO O |
|
13
|
+
| OO O O O |
|
14
|
+
| O O O O O |
|
15
15
|
|
16
16
|
Find the least value of _n_ for which p(_n_) is divisible by one million.
|
17
17
|
|
data/data/problems/79.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 79
|
3
3
|
:name: Passcode derivation
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=79
|
5
5
|
:content: |+
|
6
6
|
A common security method used for online banking is to ask the user for three random characters from a passcode. For example, if the passcode was 531278, they may ask for the 2nd, 3rd, and 5th characters; the expected reply would be: 317.
|
7
7
|
|
8
|
-
The text file, [keylog.txt](project/
|
8
|
+
The text file, [keylog.txt](project/resources/p079_keylog.txt), contains fifty successful login attempts.
|
9
9
|
|
10
10
|
Given that the three characters are always asked for in order, analyse the file so as to determine the shortest possible secret passcode of unknown length.
|
11
11
|
|
data/data/problems/8.yml
CHANGED
@@ -1,19 +1,18 @@
|
|
1
1
|
---
|
2
2
|
:id: 8
|
3
3
|
:name: Largest product in a series
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=8
|
5
5
|
:content: "The four adjacent digits in the 1000-digit number that have the greatest
|
6
|
-
product are 9
|
7
|
-
|
8
|
-
\ \
|
9
|
-
\ \
|
10
|
-
\ \
|
11
|
-
\ \
|
12
|
-
\ \
|
13
|
-
\ \
|
14
|
-
\ \
|
15
|
-
\ \
|
16
|
-
\ \
|
17
|
-
\ \n\r71636269561882670428252483600823257530420752963450\n\nFind the thirteen adjacent
|
6
|
+
product are 9 × 9 × 8 × 9 = 5832.\n\n73167176531330624919225119674426574742355349194934
|
7
|
+
\ \n96983520312774506326239578318016984801869478851843 \n85861560789112949495459501737958331952853208805511
|
8
|
+
\ \n12540698747158523863050715693290963295227443043557 \n66896648950445244523161731856403098711121722383113
|
9
|
+
\ \n62229893423380308135336276614282806444486645238749 \n30358907296290491560440772390713810515859307960866
|
10
|
+
\ \n70172427121883998797908792274921901699720888093776 \n65727333001053367881220235421809751254540594752243
|
11
|
+
\ \n52584907711670556013604839586446706324415722155397 \n53697817977846174064955149290862569321978468622482
|
12
|
+
\ \n83972241375657056057490261407972968652414535100474 \n82166370484403199890008895243450658541227588666881
|
13
|
+
\ \n16427171479924442928230863465674813919123162824586 \n17866458359124566529476545682848912883142607690042
|
14
|
+
\ \n24219022671055626321111109370544217506941658960408 \n07198403850962455444362981230987879927244284909188
|
15
|
+
\ \n84580156166097919133875499200524063689912560717606 \n05886116467109405077541002256983155200055935729725
|
16
|
+
\ \n71636269561882670428252483600823257530420752963450\n\nFind the thirteen adjacent
|
18
17
|
digits in the 1000-digit number that have the greatest product. What is the value
|
19
18
|
of this product?\n\n"
|
data/data/problems/80.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 80
|
3
3
|
:name: Square root digital expansion
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=80
|
5
5
|
:content: |+
|
6
6
|
It is well known that if the square root of a natural number is not an integer, then it is irrational. The decimal expansion of such square roots is infinite without any repeating pattern at all.
|
7
7
|
|
data/data/problems/81.yml
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 81
|
3
3
|
:name: 'Path sum: two ways'
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
bottom right, by **only moving to the right and down** , is indicated in bold red
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
Link/Target As...'), a 31K text file containing a 80 by 80 matrix, from the top
|
13
|
-
left to the bottom right by only moving right and down.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=81
|
5
|
+
:content: |+
|
6
|
+
In the 5 by 5 matrix below, the minimal path sum from the top left to the bottom right, by **only moving to the right and down** , is indicated in bold red and is equal to 2427.
|
7
|
+
|
8
|
+
$$ \begin{pmatrix} \color{red}{131} & 673 & 234 & 103 & 18\\ \color{red}{201} & \color{red}{96} & \color{red}{342} & 965 & 150\\ 630 & 803 & \color{red}{746} & \color{red}{422} & 111\\ 537 & 699 & 497 & \color{red}{121} & 956\\ 805 & 732 & 524 & \color{red}{37} & \color{red}{331} \end{pmatrix} $$
|
9
|
+
|
10
|
+
Find the minimal path sum, in [matrix.txt](project/resources/p081_matrix.txt) (right click and "Save Link/Target As..."), a 31K text file containing a 80 by 80 matrix, from the top left to the bottom right by only moving right and down.
|
11
|
+
|
data/data/problems/82.yml
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 82
|
3
3
|
:name: 'Path sum: three ways'
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
|
7
|
-
|
8
|
-
and right, is indicated in red and bold; the sum is equal to 994
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
from the left column to the right column.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=82
|
5
|
+
:content: |+
|
6
|
+
NOTE: This problem is a more challenging version of [Problem 81](problem=81).
|
7
|
+
|
8
|
+
The minimal path sum in the 5 by 5 matrix below, by starting in any cell in the left column and finishing in any cell in the right column, and only moving up, down, and right, is indicated in red and bold; the sum is equal to 994.
|
9
|
+
|
10
|
+
$$ \begin{pmatrix} 131 & 673 & \color{red}{234} & \color{red}{103} & \color{red}{18}\\ \color{red}{201} & \color{red}{96} & \color{red}{342} & 965 & 150\\ 630 & 803 & 746 & 422 & 111\\ 537 & 699 & 497 & 121 & 956\\ 805 & 732 & 524 & 37 & 331 \end{pmatrix} $$
|
11
|
+
|
12
|
+
Find the minimal path sum, in [matrix.txt](project/resources/p082_matrix.txt) (right click and "Save Link/Target As..."), a 31K text file containing a 80 by 80 matrix, from the left column to the right column.
|
13
|
+
|
data/data/problems/83.yml
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 83
|
3
3
|
:name: 'Path sum: four ways'
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
|
7
|
-
|
8
|
-
red and is equal to 2297
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
from the top left to the bottom right by moving left, right, up, and down.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=83
|
5
|
+
:content: |+
|
6
|
+
NOTE: This problem is a significantly more challenging version of [Problem 81](problem=81).
|
7
|
+
|
8
|
+
In the 5 by 5 matrix below, the minimal path sum from the top left to the bottom right, by moving left, right, up, and down, is indicated in bold red and is equal to 2297.
|
9
|
+
|
10
|
+
$$ \begin{pmatrix} \color{red}{131} & 673 & \color{red}{234} & \color{red}{103} & \color{red}{18}\\ \color{red}{201} & \color{red}{96} & \color{red}{342} & 965 & \color{red}{150}\\ 630 & 803 & 746 & \color{red}{422} & \color{red}{111}\\ 537 & 699 & 497 & \color{red}{121} & 956\\ 805 & 732 & 524 & \color{red}{37} & \color{red}{331} \end{pmatrix} $$
|
11
|
+
|
12
|
+
Find the minimal path sum, in [matrix.txt](project/resources/p083_matrix.txt) (right click and "Save Link/Target As..."), a 31K text file containing a 80 by 80 matrix, from the top left to the bottom right by moving left, right, up, and down.
|
13
|
+
|
data/data/problems/84.yml
CHANGED
@@ -1,40 +1,48 @@
|
|
1
1
|
---
|
2
2
|
:id: 84
|
3
3
|
:name: Monopoly odds
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
|
7
|
-
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
the
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
4
|
+
:url: https://projecteuler.net/problem=84
|
5
|
+
:content: |+
|
6
|
+
In the game, _Monopoly_, the standard board is set up in the following way:
|
7
|
+
|
8
|
+
| GO | A1 | CC1 | A2 | T1 | R1 | B1 | CH1 | B2 | B3 | JAIL |
|
9
|
+
| H2 | | C1 |
|
10
|
+
| T2 | | U1 |
|
11
|
+
| H1 | | C2 |
|
12
|
+
| CH3 | | C3 |
|
13
|
+
| R4 | | R2 |
|
14
|
+
| G3 | | D1 |
|
15
|
+
| CC3 | | CC2 |
|
16
|
+
| G2 | | D2 |
|
17
|
+
| G1 | | D3 |
|
18
|
+
| G2J | F3 | U2 | F2 | F1 | R3 | E3 | E2 | CH2 | E1 | FP |
|
19
|
+
|
20
|
+
A player starts on the GO square and adds the scores on two 6-sided dice to determine the number of squares they advance in a clockwise direction. Without any further rules we would expect to visit each square with equal probability: 2.5%. However, landing on G2J (Go To Jail), CC (community chest), and CH (chance) changes this distribution.
|
21
|
+
|
22
|
+
In addition to G2J, and one card from each of CC and CH, that orders the player to go directly to jail, if a player rolls three consecutive doubles, they do not advance the result of their 3rd roll. Instead they proceed directly to jail.
|
23
|
+
|
24
|
+
At the beginning of the game, the CC and CH cards are shuffled. When a player lands on CC or CH they take a card from the top of the respective pile and, after following the instructions, it is returned to the bottom of the pile. There are sixteen cards in each pile, but for the purpose of this problem we are only concerned with cards that order a movement; any instruction not concerned with movement will be ignored and the player will remain on the CC/CH square.
|
25
|
+
|
26
|
+
- Community Chest (2/16 cards):
|
27
|
+
1. Advance to GO
|
28
|
+
2. Go to JAIL
|
29
|
+
- Chance (10/16 cards):
|
30
|
+
1. Advance to GO
|
31
|
+
2. Go to JAIL
|
32
|
+
3. Go to C1
|
33
|
+
4. Go to E3
|
34
|
+
5. Go to H2
|
35
|
+
6. Go to R1
|
36
|
+
7. Go to next R (railway company)
|
37
|
+
8. Go to next R
|
38
|
+
9. Go to next U (utility company)
|
39
|
+
10. Go back 3 squares.
|
40
|
+
|
41
|
+
The heart of this problem concerns the likelihood of visiting a particular square. That is, the probability of finishing at that square after a roll. For this reason it should be clear that, with the exception of G2J for which the probability of finishing on it is zero, the CH squares will have the lowest probabilities, as 5/8 request a movement to another square, and it is the final square that the player finishes at on each roll that we are interested in. We shall make no distinction between "Just Visiting" and being sent to JAIL, and we shall also ignore the rule about requiring a double to "get out of jail", assuming that they pay to get out on their next turn.
|
42
|
+
|
43
|
+
By starting at GO and numbering the squares sequentially from 00 to 39 we can concatenate these two-digit numbers to produce strings that correspond with sets of squares.
|
44
|
+
|
45
|
+
Statistically it can be shown that the three most popular squares, in order, are JAIL (6.24%) = Square 10, E3 (3.18%) = Square 24, and GO (3.09%) = Square 00. So these three most popular squares can be listed with the six-digit modal string: 102400.
|
46
|
+
|
47
|
+
If, instead of using two 6-sided dice, two 4-sided dice are used, find the six-digit modal string.
|
48
|
+
|
data/data/problems/85.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 85
|
3
3
|
:name: Counting rectangles
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=85
|
5
5
|
:content: |+
|
6
6
|
By counting carefully it can be seen that a rectangular grid measuring 3 by 2 contains eighteen rectangles:
|
7
7
|
|
8
|
-
![]({{ images_dir }}/
|
8
|
+
![]({{ images_dir }}/p085.gif)
|
9
9
|
|
10
10
|
Although there exists no rectangular grid that contains exactly two million rectangles, find the area of the grid with the nearest solution.
|
11
11
|
|
data/data/problems/86.yml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
:id: 86
|
3
3
|
:name: Cuboid route
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=86
|
5
5
|
:content: "A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3,
|
6
6
|
and a fly, F, sits in the opposite corner. By travelling on the surfaces of the
|
7
7
|
room the shortest \"straight line\" distance from S to F is 10 and the path is shown
|
8
|
-
on the diagram.\n\n ![]({{ images_dir }}/
|
8
|
+
on the diagram.\n\n ![]({{ images_dir }}/p086.gif) \n\nHowever, there are up to
|
9
9
|
three \"shortest\" path candidates for any given cuboid and the shortest route doesn't
|
10
|
-
always have integer length.\n\
|
11
|
-
up to a maximum size of M
|
12
|
-
shortest route has integer length when M=100
|
13
|
-
which the number of solutions first exceeds two thousand;
|
14
|
-
|
15
|
-
first exceeds one million.\n\n"
|
10
|
+
always have integer length.\n\nIt can be shown that there are exactly 2060 distinct
|
11
|
+
cuboids, ignoring rotations, with integer dimensions, up to a maximum size of M
|
12
|
+
by M by M, for which the shortest route has integer length when M = 100. This is
|
13
|
+
the least value of M for which the number of solutions first exceeds two thousand;
|
14
|
+
the number of solutions when M = 99 is 1975.\n\nFind the least value of M such that
|
15
|
+
the number of solutions first exceeds one million.\n\n"
|
data/data/problems/87.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 87
|
3
3
|
:name: Prime power triples
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=87
|
5
5
|
:content: "The smallest number expressible as the sum of a prime square, prime cube,
|
6
6
|
and prime fourth power is 28. In fact, there are exactly four numbers below fifty
|
7
7
|
that can be expressed in such a way:\n\n28 = 2<sup>2</sup> + 2<sup>3</sup> + 2<sup>4</sup>
|
data/data/problems/88.yml
CHANGED
@@ -1,29 +1,18 @@
|
|
1
1
|
---
|
2
2
|
:id: 88
|
3
3
|
:name: Product-sum numbers
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=88
|
5
5
|
:content: "A natural number, N, that can be written as the sum and product of a given
|
6
6
|
set of at least two natural numbers, {_a_<sub>1</sub>, _a_<sub>2</sub>, ... , _a_<sub><i>k</i></sub>}
|
7
7
|
is called a product-sum number: N = _a_<sub>1</sub> + _a_<sub>2</sub> + ... + _a_<sub><i>k</i></sub>
|
8
|
-
= _a_<sub>1</sub>
|
9
|
-
|
10
|
-
example, 6 = 1 + 2 + 3 = 1 ![×]({{ images_dir }}/symbol_times.gif) 2 ![×]({{ images_dir
|
11
|
-
}}/symbol_times.gif) 3.\n\nFor a given set of size, _k_, we shall call the smallest
|
8
|
+
= _a_<sub>1</sub> × _a_<sub>2</sub> × ... × _a_<sub><i>k</i></sub>.\n\nFor example,
|
9
|
+
6 = 1 + 2 + 3 = 1 × 2 × 3.\n\nFor a given set of size, _k_, we shall call the smallest
|
12
10
|
N with this property a minimal product-sum number. The minimal product-sum numbers
|
13
|
-
for sets of size, _k_ = 2, 3, 4, 5, and 6 are as follows.\n\n_k_=2: 4 = 2
|
14
|
-
|
15
|
-
2
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
}
|
20
|
-
|
21
|
-
}}/symbol_times.gif) 1 ![×]({{ images_dir }}/symbol_times.gif) 1 ![×]({{ images_dir
|
22
|
-
}}/symbol_times.gif) 2 ![×]({{ images_dir }}/symbol_times.gif) 6 = 1 + 1 + 1 + 1
|
23
|
-
+ 2 + 6\n\nHence for 2 ![≤]({{ images_dir }}/symbol_le.gif)_k_ ![≤]({{ images_dir
|
24
|
-
}}/symbol_le.gif)6, the sum of all the minimal product-sum numbers is 4+6+8+12 =
|
25
|
-
30; note that 8 is only counted once in the sum.\n\nIn fact, as the complete set
|
26
|
-
of minimal product-sum numbers for 2 ![≤]({{ images_dir }}/symbol_le.gif)_k_ ![≤]({{
|
27
|
-
images_dir }}/symbol_le.gif)12 is {4, 6, 8, 12, 15, 16}, the sum is 61.\n\nWhat
|
28
|
-
is the sum of all the minimal product-sum numbers for 2 ![≤]({{ images_dir }}/symbol_le.gif)_k_
|
29
|
-
![≤]({{ images_dir }}/symbol_le.gif)12000?\n\n"
|
11
|
+
for sets of size, _k_ = 2, 3, 4, 5, and 6 are as follows.\n\n_k_=2: 4 = 2 × 2 =
|
12
|
+
2 + 2 \n_k_=3: 6 = 1 × 2 × 3 = 1 + 2 + 3 \n_k_=4: 8 = 1 × 1 × 2 × 4 = 1 + 1 +
|
13
|
+
2 + 4 \n_k_=5: 8 = 1 × 1 × 2 × 2 × 2 = 1 + 1 + 2 + 2 + 2 \n_k_=6: 12 = 1 × 1 ×
|
14
|
+
1 × 1 × 2 × 6 = 1 + 1 + 1 + 1 + 2 + 6\n\nHence for 2≤_k_≤6, the sum of all the minimal
|
15
|
+
product-sum numbers is 4+6+8+12 = 30; note that 8 is only counted once in the sum.\n\nIn
|
16
|
+
fact, as the complete set of minimal product-sum numbers for 2≤_k_≤12 is {4, 6,
|
17
|
+
8, 12, 15, 16}, the sum is 61.\n\nWhat is the sum of all the minimal product-sum
|
18
|
+
numbers for 2≤_k_≤12000?\n\n"
|
data/data/problems/89.yml
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
---
|
2
2
|
:id: 89
|
3
3
|
:name: Roman numerals
|
4
|
-
:url:
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
always a \"best\" way of writing a particular
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
rules for this problem
|
16
|
-
of these in their minimal form.\n\nNote: You can assume that all
|
17
|
-
in the file contain no more than four consecutive identical units.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=89
|
5
|
+
:content: "For a number written in Roman numerals to be considered valid there are
|
6
|
+
basic rules which must be followed. Even though the rules allow some numbers to
|
7
|
+
be expressed in more than one way there is always a \"best\" way of writing a particular
|
8
|
+
number.\n\nFor example, it would appear that there are at least six ways of writing
|
9
|
+
the number sixteen:\n\nIIIIIIIIIIIIIIII \nVIIIIIIIIIII \nVVIIIIII \nXIIIIII \nVVVI
|
10
|
+
\ \nXVI\n\nHowever, according to the rules only XIIIIII and XVI are valid, and the
|
11
|
+
last example is considered to be the most efficient, as it uses the least number
|
12
|
+
of numerals.\n\nThe 11K text file, [roman.txt](project/resources/p089_roman.txt)
|
13
|
+
(right click and 'Save Link/Target As...'), contains one thousand numbers written
|
14
|
+
in valid, but not necessarily minimal, Roman numerals; see [About... Roman Numerals](about=roman_numerals)
|
15
|
+
for the definitive rules for this problem.\n\nFind the number of characters saved
|
16
|
+
by writing each of these in their minimal form.\n\nNote: You can assume that all
|
17
|
+
the Roman numerals in the file contain no more than four consecutive identical units.\n\n"
|
data/data/problems/9.yml
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
---
|
2
2
|
:id: 9
|
3
3
|
:name: Special Pythagorean triplet
|
4
|
-
:url:
|
5
|
-
:content: "A Pythagorean triplet is a set of three natural numbers, <var>a</var>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
= 1000. \nFind the product <var>abc</var>.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=9
|
5
|
+
:content: "A Pythagorean triplet is a set of three natural numbers, <var>a</var> \\<
|
6
|
+
<var>b</var> \\< <var>c</var>, for which,\n\n <var>a</var><sup>2</sup> + <var>b</var><sup>2</sup>
|
7
|
+
= <var>c</var><sup>2</sup>\n\nFor example, 3<sup>2</sup> + 4<sup>2</sup> = 9 + 16
|
8
|
+
= 25 = 5<sup>2</sup>.\n\nThere exists exactly one Pythagorean triplet for which
|
9
|
+
<var>a</var> + <var>b</var> + <var>c</var> = 1000. \nFind the product <var>abc</var>.\n\n"
|