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/3.yml
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
---
|
2
2
|
:id: 3
|
3
3
|
:name: Largest prime factor
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
prime
|
7
|
-
|
4
|
+
:url: https://projecteuler.net/problem=3
|
5
|
+
:content: |+
|
6
|
+
The prime factors of 13195 are 5, 7, 13 and 29.
|
7
|
+
|
8
|
+
What is the largest prime factor of the number 600851475143 ?
|
9
|
+
|
data/data/problems/30.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 30
|
3
3
|
:name: Digit fifth powers
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=30
|
5
5
|
:content: "Surprisingly there are only three numbers that can be written as the sum
|
6
6
|
of fourth powers of their digits:\n\n> 1634 = 1<sup>4</sup> + 6<sup>4</sup> + 3<sup>4</sup>
|
7
7
|
+ 4<sup>4</sup> \n> 8208 = 8<sup>4</sup> + 2<sup>4</sup> + 0<sup>4</sup> + 8<sup>4</sup>
|
data/data/problems/300.yml
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
---
|
2
2
|
:id: 300
|
3
3
|
:name: Protein folding
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=300
|
5
5
|
:content: "In a very simplified form, we can consider proteins as strings consisting
|
6
|
-
of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. \
|
6
|
+
of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. \nFor this problem,
|
7
7
|
the orientation of a protein is important; e.g. HPP is considered distinct from
|
8
8
|
PPH. Thus, there are 2<sup><var>n</var></sup> distinct proteins consisting of <var>n</var>
|
9
9
|
elements.\n\nWhen one encounters these strings in nature, they are always folded
|
10
10
|
in such a way that the number of H-H contact points is as large as possible, since
|
11
|
-
this is energetically advantageous. \
|
12
|
-
in the inner part, with the P-elements on the outside. \
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
images_dir }}/
|
17
|
-
points, thus it would never occur naturally. \
|
18
|
-
|
11
|
+
this is energetically advantageous. \nAs a result, the H-elements tend to accumulate
|
12
|
+
in the inner part, with the P-elements on the outside. \nNatural proteins are folded
|
13
|
+
in three dimensions of course, but we will only consider protein folding in <u>two
|
14
|
+
dimensions</u>.\n\nThe figure below shows two possible ways that our example protein
|
15
|
+
could be folded (H-H contact points are shown with red dots).\n\n ![p300_protein.gif]({{
|
16
|
+
images_dir }}/p300_protein.gif)\n\nThe folding on the left has only six H-H contact
|
17
|
+
points, thus it would never occur naturally. \nOn the other hand, the folding on
|
18
|
+
the right has nine H-H contact points, which is optimal for this string.\n\nAssuming
|
19
19
|
that H and P elements are equally likely to occur in any position along the string,
|
20
20
|
the average number of H-H contact points in an optimal folding of a random protein
|
21
|
-
string of length 8 turns out to be 850
|
22
|
-
average number of H-H contact points in an optimal folding of a random protein
|
23
|
-
of length 15? \
|
24
|
-
an exact result.\n\n"
|
21
|
+
string of length 8 turns out to be 850 / 2<sup>8</sup>=3.3203125.\n\nWhat
|
22
|
+
is the average number of H-H contact points in an optimal folding of a random protein
|
23
|
+
string of length 15? \nGive your answer using as many decimal places as necessary
|
24
|
+
for an exact result.\n\n"
|
data/data/problems/301.yml
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 301
|
3
3
|
:name: Nim
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=301
|
5
5
|
:content: "_Nim_ is a game played with heaps of stones, where two players take it
|
6
6
|
in turn to remove any number of stones from any heap until no stones remain.\n\nWe'll
|
7
|
-
consider the three-heap normal-play version of Nim, which works as follows: \n
|
8
|
-
At the start of the game there are three heaps of stones. \n
|
9
|
-
|
10
|
-
|
7
|
+
consider the three-heap normal-play version of Nim, which works as follows: \n-
|
8
|
+
At the start of the game there are three heaps of stones. \n- On his turn the player
|
9
|
+
removes any positive number of stones from any single heap. \n- The first player
|
10
|
+
unable to move (because no stones remain) loses.\n\nIf (<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>)
|
11
11
|
indicates a Nim position consisting of heaps of size <var>n</var><sub>1</sub>, <var>n</var><sub>2</sub>
|
12
12
|
and <var>n</var><sub>3</sub> then there is a simple function <var>X</var>(<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>)
|
13
13
|
— that you may look up or attempt to deduce for yourself — that returns:\n\n- zero
|
@@ -16,8 +16,7 @@
|
|
16
16
|
example <var>X</var>(1,2,3) = 0 because, no matter what the current player does,
|
17
17
|
his opponent can respond with a move that leaves two heaps of equal size, at which
|
18
18
|
point every move by the current player can be mirrored by his opponent until no
|
19
|
-
stones remain; so the current player loses. To illustrate: \n
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<var>X</var>(<var>n</var>,2<var>n</var>,3<var>n</var>) = 0 ?\n\n"
|
19
|
+
stones remain; so the current player loses. To illustrate: \n- current player moves
|
20
|
+
to (1,2,1) \n- opponent moves to (1,0,1) \n- current player moves to (0,0,1) \n-
|
21
|
+
opponent moves to (0,0,0), and so wins.\n\nFor how many positive integers <var>n</var> ≤ 2<sup>30</sup>
|
22
|
+
does <var>X</var>(<var>n</var>,2<var>n</var>,3<var>n</var>) = 0 ?\n\n"
|
data/data/problems/302.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 302
|
3
3
|
:name: Strong Achilles Numbers
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=302
|
5
5
|
:content: "A positive integer <var>n</var> is **powerful** if p<sup>2</sup> is a divisor
|
6
6
|
of <var>n</var> for every prime factor p in <var>n</var>.\n\nA positive integer
|
7
7
|
<var>n</var> is a **perfect power** if <var>n</var> can be expressed as a power
|
@@ -9,9 +9,9 @@
|
|
9
9
|
number** if <var>n</var> is powerful but not a perfect power. For example, 864 and
|
10
10
|
1800 are Achilles numbers: 864 = 2<sup>5</sup>·3<sup>3</sup> and 1800 = 2<sup>3</sup>·3<sup>2</sup>·5<sup>2</sup>.\n\nWe
|
11
11
|
shall call a positive integer <var>S</var> a _Strong Achilles number_ if both <var>S</var>
|
12
|
-
and φ(<var>S</var>) are Achilles numbers.<sup>1</sup> \
|
13
|
-
|
14
|
-
|
12
|
+
and φ(<var>S</var>) are Achilles numbers.<sup>1</sup> \nFor example, 864 is a Strong
|
13
|
+
Achilles number: φ(864) = 288 = 2<sup>5</sup>·3<sup>2</sup>. However, 1800 isn't
|
14
|
+
a Strong Achilles number because: φ(1800) = 480 = 2<sup>5</sup>·3<sup>1</sup>·5<sup>1</sup>.\n\nThere
|
15
15
|
are 7 Strong Achilles numbers below 10<sup>4</sup> and 656 below 10<sup>8</sup>.\n\nHow
|
16
16
|
many Strong Achilles numbers are there below 10<sup>18</sup>?\n\n<sup>1</sup> φ
|
17
|
-
denotes **Euler's totient function
|
17
|
+
denotes **Euler's totient function**.\n\n"
|
data/data/problems/303.yml
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 303
|
3
3
|
:name: Multiples with small digits
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=303
|
5
5
|
:content: |+
|
6
|
-
For a positive integer <var>n</var>, define <var>f</var>(<var>n</var>) as the least positive multiple of <var>n</var> that, written in base 10, uses only digits
|
6
|
+
For a positive integer <var>n</var>, define <var>f</var>(<var>n</var>) as the least positive multiple of <var>n</var> that, written in base 10, uses only digits ≤ 2.
|
7
7
|
|
8
8
|
Thus <var>f</var>(2)=2, <var>f</var>(3)=12, <var>f</var>(7)=21, <var>f</var>(42)=210, <var>f</var>(89)=1121222.
|
9
9
|
|
10
|
-
Also, ![]({{ images_dir }}/p303_formula100.gif).
|
10
|
+
Also, ![p303_formula100.gif]({{ images_dir }}/p303_formula100.gif).
|
11
11
|
|
12
|
-
Find ![]({{ images_dir }}/p303_formula10000.gif).
|
12
|
+
Find ![p303_formula10000.gif]({{ images_dir }}/p303_formula10000.gif).
|
13
13
|
|
data/data/problems/304.yml
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 304
|
3
3
|
:name: Primonacci
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=304
|
5
5
|
:content: "For any positive integer <var>n</var> the function next\\_prime(<var>n</var>)
|
6
|
-
returns the smallest prime p \n such that p
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
for 1 ![≤]({{ images_dir }}/symbol_le.gif)<var>n</var> ![≤]({{ images_dir }}/symbol_le.gif)100
|
13
|
-
000. \rGive your answer mod 1234567891011.\n\n"
|
6
|
+
returns the smallest prime p \n such that p\\><var>n</var>.\n\nThe sequence a(<var>n</var>)
|
7
|
+
is defined by: \na(1)=next\\_prime(10<sup>14</sup>) and a(<var>n</var>)=next\\_prime(a(<var>n</var>-1))
|
8
|
+
for n\\>1.\n\nThe fibonacci sequence f(<var>n</var>) is defined by: f(0)=0, f(1)=1
|
9
|
+
and f(<var>n</var>)=f(<var>n</var>-1)+f(<var>n</var>-2) for <var>n</var>\\>1.\n\nThe
|
10
|
+
sequence b(<var>n</var>) is defined as f(a(<var>n</var>)).\n\nFind ∑b(<var>n</var>)
|
11
|
+
for 1≤<var>n</var>≤100 000. Give your answer mod 1234567891011.\n\n"
|
data/data/problems/305.yml
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
---
|
2
2
|
:id: 305
|
3
3
|
:name: Reflexive Position
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=305
|
5
5
|
:content: "Let's call S the (infinite) string that is made by concatenating the consecutive
|
6
|
-
positive integers (starting from 1) written down in base 10. \n
|
6
|
+
positive integers (starting from 1) written down in base 10. \n Thus, S = 1234567891011121314151617181920212223242...\n\nIt's
|
7
7
|
easy to see that any number will show up an infinite number of times in S.\n\nLet's
|
8
8
|
call f(n) the starting position of the n<sup>th</sup> occurrence of n in S. \n
|
9
|
-
|
10
|
-
|
11
|
-
![≤]({{ images_dir }}/symbol_le.gif)13.\n\n"
|
9
|
+
For example, f(1)=1, f(5)=81, f(12)=271 and f(7780)=111111365.\n\nFind ∑f(3<sup>k</sup>)
|
10
|
+
for 1≤k≤13.\n\n"
|
data/data/problems/306.yml
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
---
|
2
2
|
:id: 306
|
3
3
|
:name: Paper-strip Game
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=306
|
5
5
|
:content: "The following game is a classic example of Combinatorial Game Theory:\n\nTwo
|
6
6
|
players start with a strip of <var>n</var> white squares and they take alternate
|
7
|
-
turns. \
|
8
|
-
|
9
|
-
|
7
|
+
turns. \nOn each turn, a player picks two contiguous white squares and paints them
|
8
|
+
black. \nThe first player who cannot make a move loses.\n\n- If <var>n</var> =
|
9
|
+
1, there are no valid moves, so the first player loses automatically.\n- If <var>n</var>
|
10
10
|
= 2, there is only one valid move, after which the second player loses.\n- If <var>n</var>
|
11
11
|
= 3, there are two valid moves, but both leave a situation where the second player
|
12
12
|
loses.\n- If <var>n</var> = 4, there are three valid moves for the first player;
|
13
13
|
she can win the game by painting the two middle squares.\n- If <var>n</var> = 5,
|
14
14
|
there are four valid moves for the first player (shown below in red); but no matter
|
15
|
-
what she does, the second player (blue) wins.\n\n ![]({{ images_dir
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
first player can force a win
|
21
|
-
![≤]({{ images_dir }}/symbol_le.gif) 1 000 000, how many values of <var>n</var>
|
22
|
-
are there for which the first player can force a win?\n\n"
|
15
|
+
what she does, the second player (blue) wins.\n\n ![p306_pstrip.gif]({{ images_dir
|
16
|
+
}}/p306_pstrip.gif)\n\nSo, for 1 ≤ <var>n</var> ≤ 5, there are 3 values of <var>n</var>
|
17
|
+
for which the first player can force a win. \nSimilarly, for 1 ≤ <var>n</var> ≤
|
18
|
+
50, there are 40 values of <var>n</var> for which the first player can force a win.\n\nFor
|
19
|
+
1 ≤ <var>n</var> ≤ 1 000 000, how many values of <var>n</var> are there for which
|
20
|
+
the first player can force a win?\n\n"
|
data/data/problems/307.yml
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
---
|
2
2
|
:id: 307
|
3
3
|
:name: Chip Defects
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=307
|
5
5
|
:content: "<var>k</var> defects are randomly distributed amongst <var>n</var> integrated-circuit
|
6
6
|
chips produced by a factory (any number of defects may be found on a chip and each
|
7
7
|
defect is independent of the other defects).\n\nLet p(<var>k,n</var>) represent
|
8
|
-
the probability that there is a chip with at least 3 defects. \
|
9
|
-
|
10
|
-
|
8
|
+
the probability that there is a chip with at least 3 defects. \nFor instance p(3,7)
|
9
|
+
≈ 0.0204081633.\n\nFind p(20 000, 1 000 000) and give your answer rounded to 10
|
10
|
+
decimal places in the form 0.abcdefghij\n\n"
|
data/data/problems/308.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 308
|
3
3
|
:name: An amazing Prime-generating Automaton
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=308
|
5
5
|
:content: "A program written in the programming language Fractran consists of a list
|
6
6
|
of fractions.\n\nThe internal state of the Fractran Virtual Machine is a positive
|
7
7
|
integer, which is initially set to a seed value. Each iteration of a Fractran program
|
@@ -13,11 +13,11 @@
|
|
13
13
|
\n\n| 95 |\n| 23 |\n\n | , | \n\n| 77 |\n| 19 |\n\n | , | \n\n| 1 |\n| 17 |\n\n
|
14
14
|
| , | \n\n| 11 |\n| 13 |\n\n | , | \n\n| 13 |\n| 11 |\n\n | , | \n\n| 15 |\n| 2
|
15
15
|
|\n\n | , | \n\n| 1 |\n| 7 |\n\n | , | \n\n| 55 |\n| 1 |\n\n | . |\n\nStarting with
|
16
|
-
the seed integer 2, successive iterations of the program produce the sequence: \
|
16
|
+
the seed integer 2, successive iterations of the program produce the sequence: \n15,
|
17
17
|
825, 725, 1925, 2275, 425, ..., 68, **4** , 30, ..., 136, **8** , 60, ..., 544,
|
18
18
|
**32** , 240, ...\n\nThe powers of 2 that appear in this sequence are 2<sup>2</sup>,
|
19
|
-
2<sup>3</sup>, 2<sup>5</sup>, ... \
|
20
|
-
|
19
|
+
2<sup>3</sup>, 2<sup>5</sup>, ... \nIt can be shown that _all_ the powers of 2
|
20
|
+
in this sequence have prime exponents and that _all_ the primes appear as exponents
|
21
21
|
of powers of 2, in proper order!\n\nIf someone uses the above Fractran program to
|
22
22
|
solve Project Euler Problem 7 (find the 10001<sup>st</sup> prime), how many iterations
|
23
23
|
would be needed until the program produces 2<sup>10001st prime</sup> ?\n\n"
|
data/data/problems/309.yml
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
---
|
2
2
|
:id: 309
|
3
3
|
:name: Integer Ladders
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=309
|
5
5
|
:content: "In the classic \"Crossing Ladders\" problem, we are given the lengths <var>x</var>
|
6
6
|
and <var>y</var> of two ladders resting on the opposite walls of a narrow, level
|
7
7
|
street. We are also given the height <var>h</var> above the street where the two
|
8
8
|
ladders cross and we are asked to find the width of the street (<var>w</var>).\n\n
|
9
|
-
![]({{ images_dir }}/
|
10
|
-
where all four variables are positive integers. \
|
11
|
-
= 70, <var>y</var> = 119 and <var>h</var> = 30, we can calculate that
|
12
|
-
= 56.\n\nIn fact, for integer values <var>x</var>, <var>y</var>, <var>h</var>
|
13
|
-
0
|
14
|
-
|
15
|
-
40).\n\nFor integer values <var>x</var>,
|
16
|
-
|
9
|
+
![p309_ladders.gif]({{ images_dir }}/p309_ladders.gif)\n\nHere, we are only concerned
|
10
|
+
with instances where all four variables are positive integers. \nFor example, if
|
11
|
+
<var>x</var> = 70, <var>y</var> = 119 and <var>h</var> = 30, we can calculate that
|
12
|
+
<var>w</var> = 56.\n\nIn fact, for integer values <var>x</var>, <var>y</var>, <var>h</var>
|
13
|
+
and 0 \\< <var>x</var> \\< <var>y</var> \\< 200, there are only five triplets (<var>x</var>,<var>y</var>,<var>h</var>)
|
14
|
+
producing integer solutions for <var>w</var>: \n(70, 119, 30), (74, 182, 21), (87,
|
15
|
+
105, 35), (100, 116, 35) and (119, 175, 40).\n\nFor integer values <var>x</var>,
|
16
|
+
<var>y</var>, <var>h</var> and 0 \\< <var>x</var> \\< <var>y</var> \\< 1 000 000,
|
17
|
+
how many triplets (<var>x</var>,<var>y</var>,<var>h</var>) produce integer solutions
|
18
|
+
for <var>w</var>?\n\n"
|
data/data/problems/31.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 31
|
3
3
|
:name: Coin sums
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=31
|
5
5
|
:content: |+
|
6
6
|
In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation:
|
7
7
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
It is possible to make £2 in the following way:
|
11
11
|
|
12
|
-
> 1
|
12
|
+
> 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p
|
13
13
|
|
14
14
|
How many different ways can £2 be made using any number of coins?
|
15
15
|
|
data/data/problems/310.yml
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
---
|
2
2
|
:id: 310
|
3
3
|
:name: Nim Square
|
4
|
-
:url:
|
5
|
-
:content: "Alice and Bob play the game Nim Square. \
|
4
|
+
:url: https://projecteuler.net/problem=310
|
5
|
+
:content: "Alice and Bob play the game Nim Square. \nNim Square is just like ordinary
|
6
6
|
three-heap normal play Nim, but the players may only remove a square number of stones
|
7
|
-
from a heap. \
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
the number of losing positions for the next player if 0 ![≤]({{ images_dir }}/symbol_le.gif)a
|
12
|
-
![≤]({{ images_dir }}/symbol_le.gif)b ![≤]({{ images_dir }}/symbol_le.gif)c ![≤]({{
|
13
|
-
images_dir }}/symbol_le.gif)100 000.\n\n"
|
7
|
+
from a heap. \nThe number of stones in the three heaps is represented by the ordered
|
8
|
+
triple (a,b,c). \nIf 0≤a≤b≤c≤29 then the number of losing positions for the next
|
9
|
+
player is 1160.\n\nFind the number of losing positions for the next player if 0≤a≤b≤c≤100
|
10
|
+
000.\n\n"
|
data/data/problems/311.yml
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 311
|
3
3
|
:name: Biclinic Integral Quadrilaterals
|
4
|
-
:url:
|
5
|
-
:content: "ABCD is a convex, integer sided quadrilateral with 1
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
![≤]({{ images_dir }}/symbol_le.gif) <var>N</var>. \n\rWe can verify that B(10
|
15
|
-
000) = 49 and B(1 000 000) = 38239.\n\nFind B(10 000 000 000).\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=311
|
5
|
+
:content: "ABCD is a convex, integer sided quadrilateral with 1 ≤ AB \\< BC \\< CD
|
6
|
+
\\< AD. \nBD has integer length. O is the midpoint of BD. AO has integer length.
|
7
|
+
\ \nWe'll call ABCD a _biclinic integral quadrilateral_ if AO = CO ≤ BO = DO.\n\nFor
|
8
|
+
example, the following quadrilateral is a biclinic integral quadrilateral: \nAB
|
9
|
+
= 19, BC = 29, CD = 37, AD = 43, BD = 48 and AO = CO = 23.\n\n ![p311_biclinic.gif]({{
|
10
|
+
images_dir }}/p311_biclinic.gif)\n\nLet B(<var>N</var>) be the number of distinct
|
11
|
+
biclinic integral quadrilaterals ABCD that satisfy AB<sup>2</sup>+BC<sup>2</sup>+CD<sup>2</sup>+AD<sup>2</sup>
|
12
|
+
≤ <var>N</var>. \nWe can verify that B(10 000) = 49 and B(1 000 000) = 38239.\n\nFind
|
13
|
+
B(10 000 000 000).\n\n"
|
data/data/problems/312.yml
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
---
|
2
2
|
:id: 312
|
3
3
|
:name: Cyclic paths on Sierpiński graphs
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=312
|
5
5
|
:content: "- A **Sierpiński graph** of order-1 (<var>S</var><sub>1</sub>) is an equilateral
|
6
|
-
triangle. \n
|
6
|
+
triangle. \n- <var>S</var><sub><var>n</var>+1</sub> is obtained from <var>S</var><sub><var>n</var></sub>
|
7
7
|
by positioning three copies of <var>S</var><sub><var>n</var></sub> so that every
|
8
|
-
pair of copies has one common corner.\n\n ![]({{ images_dir
|
9
|
-
C(<var>n</var>) be the number of cycles that pass
|
10
|
-
of <var>S</var><sub><var>n</var></sub>. \
|
11
|
-
such cycles can be drawn on <var>S</var><sub>3</sub>,
|
12
|
-
images_dir }}/
|
13
|
-
= C(2) = 1 \
|
14
|
-
|
8
|
+
pair of copies has one common corner.\n\n ![p312_sierpinskyAt.gif]({{ images_dir
|
9
|
+
}}/p312_sierpinskyAt.gif)\n\nLet C(<var>n</var>) be the number of cycles that pass
|
10
|
+
exactly once through all the vertices of <var>S</var><sub><var>n</var></sub>. \nFor
|
11
|
+
example, C(3) = 8 because eight such cycles can be drawn on <var>S</var><sub>3</sub>,
|
12
|
+
as shown below:\n\n ![p312_sierpinsky8t.gif]({{ images_dir }}/p312_sierpinsky8t.gif)\n\nIt
|
13
|
+
can also be verified that : \nC(1) = C(2) = 1 \nC(5) = 71328803586048 \nC(10
|
14
|
+
000) mod 10<sup>8</sup> = 37652224 \nC(10 000) mod 13<sup>8</sup> = 617720485\n\nFind
|
15
|
+
C(C(C(10 000))) mod 13<sup>8</sup>.\n\n"
|
data/data/problems/313.yml
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
---
|
2
2
|
:id: 313
|
3
3
|
:name: Sliding game
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=313
|
5
5
|
:content: |+
|
6
6
|
In a sliding game a counter may slide horizontally or vertically into an empty space. The objective of the game is to move the red counter from the top left corner of a grid to the bottom right corner; the space always starts in the bottom right corner. For example, the following sequence of pictures show how the game can be completed in five moves on a 2 by 2 grid.
|
7
7
|
|
8
|
-
![]({{ images_dir }}/
|
8
|
+
![p313_sliding_game_1.gif]({{ images_dir }}/p313_sliding_game_1.gif)
|
9
9
|
|
10
10
|
Let S(m,n) represent the minimum number of moves to complete the game on an m by n grid. For example, it can be verified that S(5,4) = 25.
|
11
11
|
|
12
|
-
![]({{ images_dir }}/
|
12
|
+
![p313_sliding_game_2.gif]({{ images_dir }}/p313_sliding_game_2.gif)
|
13
13
|
|
14
|
-
There are exactly 5482 grids for which S(m,n) = p<sup>2</sup>, where p
|
14
|
+
There are exactly 5482 grids for which S(m,n) = p<sup>2</sup>, where p \< 100 is prime.
|
15
15
|
|
16
|
-
How many grids does S(m,n) = p<sup>2</sup>, where p
|
16
|
+
How many grids does S(m,n) = p<sup>2</sup>, where p \< 10<sup>6</sup> is prime?
|
17
17
|
|
data/data/problems/314.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 314
|
3
3
|
:name: The Mouse on the Moon
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=314
|
5
5
|
:content: "The moon has been opened up, and land can be obtained for free, but there
|
6
6
|
is a catch. You have to build a wall around the land that you stake out, and building
|
7
7
|
a wall on the moon is expensive. Every country has been allotted a 500 m by 500
|
@@ -12,15 +12,14 @@
|
|
12
12
|
area. The [Duchy of Grand Fenwick](http://en.wikipedia.org/wiki/Grand_Fenwick),
|
13
13
|
has a tighter budget, and has asked you (their Royal Programmer) to compute what
|
14
14
|
shape would get best maximum enclosed-area/wall-length ratio.\n\nYou have done some
|
15
|
-
preliminary calculations on a sheet of paper
|
16
|
-
250 000 m<sup>2</sup> area the
|
15
|
+
preliminary calculations on a sheet of paper. For a 2000 meter wall enclosing the
|
16
|
+
250 000 m<sup>2</sup> area the enclosed-area/wall-length ratio is 125. \nAlthough
|
17
17
|
not allowed , but to get an idea if this is anything better: if you place a circle
|
18
18
|
inside the square area touching the four sides the area will be equal to π\\*250<sup>2</sup>
|
19
19
|
m<sup>2</sup> and the perimeter will be π\\*500 m, so the enclosed-area/wall-length
|
20
20
|
ratio will also be 125.\n\nHowever, if you cut off from the square four triangles
|
21
|
-
with sides 75 m, 75 m and 75
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
places behind the decimal point in the form abc.defghijk.\n\n"
|
21
|
+
with sides 75 m, 75 m and 75√2 m the total area becomes 238750 m<sup>2</sup> and
|
22
|
+
the perimeter becomes 1400+300√2 m. So this gives an enclosed-area/wall-length ratio
|
23
|
+
of 130.87, which is significantly better.\n\n ![p314_landgrab.gif]({{ images_dir
|
24
|
+
}}/p314_landgrab.gif)\n\nFind the maximum enclosed-area/wall-length ratio. \nGive
|
25
|
+
your answer rounded to 8 places behind the decimal point in the form abc.defghijk.\n\n"
|
data/data/problems/315.yml
CHANGED
@@ -1,42 +1,39 @@
|
|
1
1
|
---
|
2
2
|
:id: 315
|
3
3
|
:name: Digital root clocks
|
4
|
-
:url:
|
5
|
-
:content: " ![]({{ images_dir }}/
|
6
|
-
two digital clocks into two \"digital root\" clocks. \
|
7
|
-
a digital clock that calculates digital roots step by step.\n\nWhen
|
8
|
-
a number, it will show it and then it will start the calculation,
|
9
|
-
intermediate values until it gets to the result. \
|
10
|
-
is fed the number 137, it will show: \" **137
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
top-right
|
15
|
-
top-right and bottom-right
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
\" on/off). |\n| \" **2** \" | : | (5) ![×]({{ images_dir }}/symbol_times.gif) 2
|
27
|
-
= 10 transitions (\" **2** \" on/off). |\n\n\rFor a grand total of 40 transitions.\r\r\n\nMax's
|
4
|
+
:url: https://projecteuler.net/problem=315
|
5
|
+
:content: " ![p315_clocks.gif]({{ images_dir }}/p315_clocks.gif)\n\nSam and Max are
|
6
|
+
asked to transform two digital clocks into two \"digital root\" clocks. \nA digital
|
7
|
+
root clock is a digital clock that calculates digital roots step by step.\n\nWhen
|
8
|
+
a clock is fed a number, it will show it and then it will start the calculation,
|
9
|
+
showing all the intermediate values until it gets to the result. \nFor example,
|
10
|
+
if the clock is fed the number 137, it will show: \" **137**\" → \" **11**\" → \"
|
11
|
+
**2**\" and then it will go black, waiting for the next number.\n\nEvery digital
|
12
|
+
number consists of some light segments: three horizontal (top, middle, bottom) and
|
13
|
+
four vertical (top-left, top-right, bottom-left, bottom-right). \nNumber \" **1**\"
|
14
|
+
is made of vertical top-right and bottom-right, number \" **4**\" is made by middle
|
15
|
+
horizontal and vertical top-left, top-right and bottom-right. Number \" **8**\"
|
16
|
+
lights them all.\n\nThe clocks consume energy only when segments are turned on/off.
|
17
|
+
\ \nTo turn on a \" **2**\" will cost 5 transitions, while a \" **7**\" will cost
|
18
|
+
only 4 transitions.\n\nSam and Max built two different clocks.\n\nSam's clock is
|
19
|
+
fed e.g. number 137: the clock shows \" **137**\", then the panel is turned off,
|
20
|
+
then the next number (\" **11**\") is turned on, then the panel is turned off again
|
21
|
+
and finally the last number (\" **2**\") is turned on and, after some time, off.
|
22
|
+
\ \nFor the example, with number 137, Sam's clock requires:\n\n| \" **137**\" |
|
23
|
+
: | (2 + 5 + 4) × 2 = 22 transitions (\" **137**\" on/off). |\n| \" **11**\" | :
|
24
|
+
| (2 + 2) × 2 = 8 transitions (\" **11**\" on/off). |\n| \" **2**\" | : | (5) ×
|
25
|
+
2 = 10 transitions (\" **2**\" on/off). |\n\nFor a grand total of 40 transitions.\n\nMax's
|
28
26
|
clock works differently. Instead of turning off the whole panel, it is smart enough
|
29
|
-
to turn off only those segments that won't be needed for the next number. \
|
30
|
-
number 137, Max's clock requires:\n\n| \" **137
|
31
|
-
|
32
|
-
|
33
|
-
\ \n \n
|
34
|
-
|
35
|
-
\"
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
number of transitions needed by Sam's clock and that needed by Max's one.\n\n"
|
27
|
+
to turn off only those segments that won't be needed for the next number. \nFor
|
28
|
+
number 137, Max's clock requires:\n\n| \" **137**\" \n \n | : \n \n | 2 + 5
|
29
|
+
+ 4 = 11 transitions (\" **137**\" on) \n7 transitions (to turn off the segments
|
30
|
+
that are not needed for number \" **11**\"). |\n| \" **11**\" \n \n \n | : \n
|
31
|
+
\ \n \n | 0 transitions (number \" **11**\" is already turned on correctly) \n3
|
32
|
+
transitions (to turn off the first \" **1**\" and the bottom part of the second
|
33
|
+
\" **1**\"; \nthe top part is common with number \" **2**\"). |\n| \" **2**\"
|
34
|
+
\ \n \n | : \n \n | 4 transitions (to turn on the remaining segments in order
|
35
|
+
to get a \" **2**\") \n5 transitions (to turn off number \" **2**\"). |\n\nFor
|
36
|
+
a grand total of 30 transitions.\n\nOf course, Max's clock consumes less power than
|
37
|
+
Sam's one. \nThe two clocks are fed all the prime numbers between A = 10<sup>7</sup>
|
38
|
+
and B = 2×10<sup>7</sup>. \nFind the difference between the total number of transitions
|
39
|
+
needed by Sam's clock and that needed by Max's one.\n\n"
|