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/316.yml
CHANGED
@@ -1,23 +1,24 @@
|
|
1
1
|
---
|
2
2
|
:id: 316
|
3
3
|
:name: Numbers in decimal expansions
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=316
|
5
5
|
:content: "Let <var>p</var> = <var>p<sub><font size=\"-2\">1</font></sub> p<sub><font
|
6
6
|
size=\"-2\">2</font></sub> p<sub><font size=\"-2\">3</font></sub></var> ... be an
|
7
7
|
infinite sequence of random digits, selected from {0,1,2,3,4,5,6,7,8,9} with equal
|
8
|
-
probability. \
|
8
|
+
probability. \nIt can be seen that <var>p</var> corresponds to the real number
|
9
9
|
0.<var>p<sub><font size=\"-2\">1</font></sub> p<sub><font size=\"-2\">2</font></sub>
|
10
|
-
p<sub><font size=\"-2\">3</font></sub></var> .... \
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
10
|
+
p<sub><font size=\"-2\">3</font></sub></var> .... \nIt can also be seen that choosing
|
11
|
+
a random real number from the interval [0,1) is equivalent to choosing an infinite
|
12
|
+
sequence of random digits selected from {0,1,2,3,4,5,6,7,8,9} with equal probability.\n\nFor
|
13
|
+
any positive integer <var>n</var> with <var>d</var> decimal digits, let <var>k</var>
|
14
|
+
be the smallest index such that \n<var>p<sub><small>k</small>, </sub></var><var>p<sub><small>k+1</small></sub></var>,
|
15
|
+
...<var>p<sub><small>k+d-1</small></sub></var> are the decimal digits of <var>n</var>,
|
16
|
+
in the same order. \nAlso, let <var>g</var>(<var>n</var>) be the expected value
|
17
|
+
of <var>k</var>; it can be proven that <var>g</var>(<var>n</var>) is always finite
|
18
|
+
and, interestingly, always an integer number.\n\nFor example, if <var>n</var> =
|
19
|
+
535, then \nfor <var>p</var> = 31415926 **535** 897...., we get <var>k</var> =
|
20
|
+
9 \nfor <var>p</var> = 35528714365004956000049084876408468 **535** 4..., we get
|
21
|
+
<var>k</var> = 36 \netc and we find that <var>g</var>(535) = 1008.\n\nGiven that
|
22
|
+
![p316_decexp1.gif]({{ images_dir }}/p316_decexp1.gif), find ![p316_decexp2.gif]({{
|
23
|
+
images_dir }}/p316_decexp2.gif)\n\n<u><i>Note</i></u>: ![p316_decexp3.gif]({{ images_dir
|
24
|
+
}}/p316_decexp3.gif) represents the floor function.\n"
|
data/data/problems/317.yml
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 317
|
3
3
|
:name: Firecracker
|
4
|
-
:url:
|
5
|
-
:content:
|
6
|
-
into a large number of very small fragments, which move in every direction; all
|
7
|
-
|
8
|
-
move without air resistance, in a uniform gravitational field with g=9.81 m/s<sup>2</sup
|
9
|
-
|
10
|
-
reaching the ground.
|
4
|
+
:url: https://projecteuler.net/problem=317
|
5
|
+
:content: |+
|
6
|
+
A firecracker explodes at a height of 100 m above level ground. It breaks into a large number of very small fragments, which move in every direction; all of them have the same initial velocity of 20 m/s.
|
7
|
+
|
8
|
+
We assume that the fragments move without air resistance, in a uniform gravitational field with g=9.81 m/s<sup>2</sup>.
|
9
|
+
|
10
|
+
Find the volume (in m<sup>3</sup>) of the region through which the fragments move before reaching the ground. Give your answer rounded to four decimal places.
|
11
|
+
|
data/data/problems/318.yml
CHANGED
@@ -1,32 +1,17 @@
|
|
1
1
|
---
|
2
2
|
:id: 318
|
3
3
|
:name: 2011 nines
|
4
|
-
:url:
|
5
|
-
:content: "Consider the real number
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
=
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
= 9313929.99999989263... \n\r( ![√]({{ images_dir }}/symbol_radic.gif)2+ ![√]({{
|
19
|
-
images_dir }}/symbol_radic.gif)3)<sup>16</sup> = 92198401.99999998915...\n\nIt looks
|
20
|
-
like that the number of consecutive nines at the beginning of the fractional part
|
21
|
-
of these powers is non-decreasing. \n\rIn fact it can be proven that the fractional
|
22
|
-
part of ( ![√]({{ images_dir }}/symbol_radic.gif)2+ ![√]({{ images_dir }}/symbol_radic.gif)3)<sup>2n</sup>
|
23
|
-
approaches 1 for large n.\n\nConsider all real numbers of the form ![√]({{ images_dir
|
24
|
-
}}/symbol_radic.gif)p+ ![√]({{ images_dir }}/symbol_radic.gif)q with p and q positive
|
25
|
-
integers and p ![<]({{ images_dir }}/symbol_lt.gif)q, such that the fractional part
|
26
|
-
\rof ( ![√]({{ images_dir }}/symbol_radic.gif)p+ ![√]({{ images_dir }}/symbol_radic.gif)q)<sup>2n</sup>
|
27
|
-
approaches 1 for large n.\n\nLet C(p,q,n) be the number of consecutive nines at
|
28
|
-
the beginning of the fractional part of \n ( ![√]({{ images_dir }}/symbol_radic.gif)p+
|
29
|
-
![√]({{ images_dir }}/symbol_radic.gif)q)<sup>2n</sup>.\n\nLet N(p,q) be the minimal
|
30
|
-
value of n such that C(p,q,n) ![≥]({{ images_dir }}/symbol_ge.gif) 2011.\n\nFind
|
31
|
-
![∑]({{ images_dir }}/symbol_sum.gif)N(p,q) for p+q ![≤]({{ images_dir }}/symbol_le.gif)
|
32
|
-
2011.\n\n"
|
4
|
+
:url: https://projecteuler.net/problem=318
|
5
|
+
:content: "Consider the real number √2+√3. \nWhen we calculate the even powers of
|
6
|
+
√2+√3 we get: \n(√2+√3)<sup>2</sup> = 9.898979485566356... \n(√2+√3)<sup>4</sup>
|
7
|
+
= 97.98979485566356... \n(√2+√3)<sup>6</sup> = 969.998969071069263... \n(√2+√3)<sup>8</sup>
|
8
|
+
= 9601.99989585502907... \n(√2+√3)<sup>10</sup> = 95049.999989479221... \n(√2+√3)<sup>12</sup>
|
9
|
+
= 940897.9999989371855... \n(√2+√3)<sup>14</sup> = 9313929.99999989263... \n(√2+√3)<sup>16</sup>
|
10
|
+
= 92198401.99999998915...\n\nIt looks like that the number of consecutive nines
|
11
|
+
at the beginning of the fractional part of these powers is non-decreasing. \nIn
|
12
|
+
fact it can be proven that the fractional part of (√2+√3)<sup>2n</sup> approaches
|
13
|
+
1 for large n.\n\nConsider all real numbers of the form √p+√q with p and q positive
|
14
|
+
integers and p\\<q, such that the fractional part of (√p+√q)<sup>2n</sup> approaches
|
15
|
+
1 for large n.\n\nLet C(p,q,n) be the number of consecutive nines at the beginning
|
16
|
+
of the fractional part of \n (√p+√q)<sup>2n</sup>.\n\nLet N(p,q) be the minimal
|
17
|
+
value of n such that C(p,q,n) ≥ 2011.\n\nFind ∑N(p,q) for p+q ≤ 2011.\n\n"
|
data/data/problems/319.yml
CHANGED
@@ -1,18 +1,16 @@
|
|
1
1
|
---
|
2
2
|
:id: 319
|
3
3
|
:name: Bounded Sequences
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=319
|
5
5
|
:content: "Let <var>x</var><sub>1</sub>, <var>x</var><sub>2</sub>,..., <var>x<sub>n</sub></var>
|
6
6
|
be a sequence of length <var>n</var> such that:\n\n- <var>x</var><sub>1</sub> =
|
7
|
-
2\n- for all 1
|
8
|
-
|
9
|
-
|
10
|
-
<var>j</var>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
denote the number of such sequences of length <var>n</var>. \n\rYou are given that
|
17
|
-
<var>t</var>(10) = 86195 and <var>t</var>(20) = 5227991891.\n\nFind <var>t</var>(10<sup>10</sup>)
|
7
|
+
2\n- for all 1 \\< <var>i</var> ≤ <var>n</var> : <var>x</var><sub><var>i</var>-<i>1</i></sub>
|
8
|
+
\\< <var>x<sub>i</sub></var>\n- for all <var>i</var> and <var>j</var> with 1 ≤ <var>i</var>,
|
9
|
+
<var>j</var> ≤ <var>n</var> : (<var>x<sub>i</sub></var>)<var><sup> j</sup></var>
|
10
|
+
\\< (<var>x<sub>j</sub></var> + 1)<var><sup>i</sup></var>\n\nThere are only five
|
11
|
+
such sequences of length 2, namely: {2,4}, {2,5}, {2,6}, {2,7} and {2,8}. \nThere
|
12
|
+
are 293 such sequences of length 5; three examples are given below: \n{2,5,11,25,55},
|
13
|
+
{2,6,14,36,88}, {2,8,22,64,181}.\n\nLet <var>t</var>(<var>n</var>) denote the number
|
14
|
+
of such sequences of length <var>n</var>. \nYou are given that <var>t</var>(10)
|
15
|
+
= 86195 and <var>t</var>(20) = 5227991891.\n\nFind <var>t</var>(10<sup>10</sup>)
|
18
16
|
and give your answer modulo 10<sup>9</sup>.\n\n"
|
data/data/problems/32.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 32
|
3
3
|
:name: Pandigital products
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=32
|
5
5
|
:content: |+
|
6
6
|
We shall say that an <var>n</var>-digit number is pandigital if it makes use of all the digits 1 to <var>n</var> exactly once; for example, the 5-digit number, 15234, is 1 through 5 pandigital.
|
7
7
|
|
8
|
-
The product 7254 is unusual, as the identity, 39
|
8
|
+
The product 7254 is unusual, as the identity, 39 × 186 = 7254, containing multiplicand, multiplier, and product is 1 through 9 pandigital.
|
9
9
|
|
10
10
|
Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.
|
11
11
|
|
data/data/problems/320.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 320
|
3
3
|
:name: Factorials divisible by a huge integer
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=320
|
5
5
|
:content: |+
|
6
6
|
Let N(<var>i</var>) be the smallest integer <var>n</var> such that <var>n</var>! is divisible by (<var>i</var>!)<sup>1234567890</sup>
|
7
7
|
|
8
|
-
Let S(<var>u</var>)
|
8
|
+
Let S(<var>u</var>)=∑N(<var>i</var>) for 10 ≤ <var>i</var> ≤ <var>u</var>.
|
9
9
|
|
10
10
|
S(1000)=614538266565663.
|
11
11
|
|
data/data/problems/321.yml
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
---
|
2
2
|
:id: 321
|
3
3
|
:name: Swapping Counters
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=321
|
5
5
|
:content: "A horizontal row comprising of 2<var>n</var> + 1 squares has <var>n</var>
|
6
6
|
red counters placed at one end and <var>n</var> blue counters at the other end,
|
7
7
|
being separated by a single empty square in the centre. For example, when <var>n</var>
|
8
|
-
= 3.\n\n ![]({{ images_dir }}/
|
9
|
-
from one square to the next (slide) or can jump over another counter
|
10
|
-
as the square next to that counter is unoccupied.\n\n ![]({{
|
11
|
-
M(<var>n</var>) represent the
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
of <var>n</var> for which
|
16
|
-
|
17
|
-
sum of the first forty terms
|
8
|
+
= 3.\n\n ![p321_swapping_counters_1.gif]({{ images_dir }}/p321_swapping_counters_1.gif)\n\nA
|
9
|
+
counter can move from one square to the next (slide) or can jump over another counter
|
10
|
+
(hop) as long as the square next to that counter is unoccupied.\n\n ![p321_swapping_counters_2.gif]({{
|
11
|
+
images_dir }}/p321_swapping_counters_2.gif)\n\nLet M(<var>n</var>) represent the
|
12
|
+
minimum number of moves/actions to completely reverse the positions of the coloured
|
13
|
+
counters; that is, move all the red counters to the right and all the blue counters
|
14
|
+
to the left.\n\nIt can be verified M(3) = 15, which also happens to be a triangle
|
15
|
+
number.\n\nIf we create a sequence based on the values of <var>n</var> for which
|
16
|
+
M(<var>n</var>) is a triangle number then the first five terms would be: \n1, 3,
|
17
|
+
10, 22, and 63, and their sum would be 99.\n\nFind the sum of the first forty terms
|
18
|
+
of this sequence.\n\n"
|
data/data/problems/322.yml
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
---
|
2
2
|
:id: 322
|
3
3
|
:name: Binomial coefficients divisible by 10
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=322
|
5
5
|
:content: "Let T(<var>m</var>, <var>n</var>) be the number of the binomial coefficients
|
6
6
|
<sup><var>i</var></sup>C<sub><var>n</var></sub> that are divisible by 10 for <var>n</var>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
T(10<sup>18</sup>, 10<sup>12</sup>-10).\n\n"
|
7
|
+
≤ <var>i</var> \\< <var>m</var>(<var>i</var>, <var>m</var> and <var>n</var> are
|
8
|
+
positive integers). \nYou are given that T(10<sup>9</sup>, 10<sup>7</sup>-10) =
|
9
|
+
989697000.\n\nFind T(10<sup>18</sup>, 10<sup>12</sup>-10).\n\n"
|
data/data/problems/323.yml
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
---
|
2
2
|
:id: 323
|
3
3
|
:name: Bitwise-OR operations on random integers
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=323
|
5
5
|
:content: "Let <var>y</var><sub>0</sub>, <var>y</var><sub>1</sub>, <var>y</var><sub>2</sub>,...
|
6
|
-
be a sequence of random unsigned 32 bit integers \n
|
7
|
-
|
8
|
-
2<sup>32</sup>, every value equally likely).\n\nFor the sequence <var>x<sub>i</sub></var>
|
6
|
+
be a sequence of random unsigned 32 bit integers \n(i.e. 0 ≤ <var>y<sub>i</sub></var>
|
7
|
+
\\< 2<sup>32</sup>, every value equally likely).\n\nFor the sequence <var>x<sub>i</sub></var>
|
9
8
|
the following recursion is given:\n\n- <var>x</var><sub>0</sub> = 0 and\n- <var>x<sub>i</sub></var>
|
10
9
|
= <var>x</var><sub><var>i</var>-<i>1</i></sub> **|** <var>y</var><sub><var>i</var>-<i>1</i></sub>,
|
11
|
-
for <var>i</var>
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
to 10 digits after the decimal point.\n\n"
|
10
|
+
for <var>i</var> \\> 0. ( **|** is the bitwise-OR operator)\n\nIt can be seen that
|
11
|
+
eventually there will be an index N such that <var>x<sub>i</sub></var> = 2<sup>32</sup>
|
12
|
+
-1 (a bit-pattern of all ones) for all <var>i</var> ≥ N.\n\nFind the expected value
|
13
|
+
of N. \nGive your answer rounded to 10 digits after the decimal point.\n\n"
|
data/data/problems/324.yml
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:id: 324
|
3
3
|
:name: Building a tower
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=324
|
5
5
|
:content: "Let <var>f</var>(<var>n</var>) represent the number of ways one can fill
|
6
|
-
a 3
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
mod <var>q</var> = 24806056, \n<var>f</var>(10<sup>6</sup>) mod <var>q</var> =
|
13
|
-
30808124.\n\nFind <var>f</var>(10<sup>10000</sup>) mod 100000007.\n\n"
|
6
|
+
a 3×3×<var>n</var> tower with blocks of 2×1×1. \nYou're allowed to rotate the
|
7
|
+
blocks in any way you like; however, rotations, reflections etc of the tower itself
|
8
|
+
are counted as distinct.\n\nFor example (with <var>q</var> = 100000007) : \n<var>f</var>(2)
|
9
|
+
= 229, \n<var>f</var>(4) = 117805, \n<var>f</var>(10) mod <var>q</var> = 96149360,
|
10
|
+
\ \n<var>f</var>(10<sup>3</sup>) mod <var>q</var> = 24806056, \n<var>f</var>(10<sup>6</sup>)
|
11
|
+
mod <var>q</var> = 30808124.\n\nFind <var>f</var>(10<sup>10000</sup>) mod 100000007.\n\n"
|
data/data/problems/325.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 325
|
3
3
|
:name: Stone Game II
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=325
|
5
5
|
:content: |+
|
6
6
|
A game is played with two piles of stones and two players. At her turn, a player removes a number of stones from the larger pile. The number of stones she removes must be a positive multiple of the number of stones in the smaller pile.
|
7
7
|
|
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
A _losing configuration_ is one where the second player can force a win, no matter what the first player does. For example, (2,3) and (3,4) are losing configurations: any legal move leaves a winning configuration for the second player.
|
15
15
|
|
16
|
-
Define S(<var>N</var>) as the sum of (<var>x</var><sub><var>i</var></sub>+<var>y</var><sub><var>i</var></sub>) for all losing configurations (<var>x</var><sub><var>i</var></sub>,<var>y</var><sub><var>i</var></sub>), 0
|
16
|
+
Define S(<var>N</var>) as the sum of (<var>x</var><sub><var>i</var></sub>+<var>y</var><sub><var>i</var></sub>) for all losing configurations (<var>x</var><sub><var>i</var></sub>,<var>y</var><sub><var>i</var></sub>), 0 \< <var>x</var><sub><var>i</var></sub> \< <var>y</var><sub><var>i</var></sub> ≤ <var>N</var>. We can verify that S(10) = 211 and S(10<sup>4</sup>) = 230312207313.
|
17
17
|
|
18
18
|
Find S(10<sup>16</sup>) mod 7<sup>10</sup>.
|
19
19
|
|
data/data/problems/326.yml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
:id: 326
|
3
3
|
:name: Modulo Summations
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=326
|
5
5
|
:content: |+
|
6
|
-
Let <var>a<sub>n</sub></var> be a sequence recursively defined by: ![]({{ images_dir }}/
|
6
|
+
Let <var>a<sub>n</sub></var> be a sequence recursively defined by: ![p326_formula1.gif]({{ images_dir }}/p326_formula1.gif).
|
7
7
|
|
8
8
|
So the first 10 elements of <var>a<sub>n</sub></var> are: 1,1,0,3,0,3,5,4,1,9.
|
9
9
|
|
10
10
|
Let <var>f</var>(<var>N,M</var>) represent the number of pairs (<var>p,q</var>) such that:
|
11
11
|
|
12
|
-
![]({{ images_dir }}/
|
12
|
+
![p326_formula2.gif]({{ images_dir }}/p326_formula2.gif)
|
13
13
|
|
14
14
|
It can be seen that <var>f</var>(10,10)=4 with the pairs (3,3), (5,5), (7,9) and (9,10).
|
15
15
|
|
data/data/problems/327.yml
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
---
|
2
2
|
:id: 327
|
3
3
|
:name: Rooms of Doom
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=327
|
5
5
|
:content: "A series of three rooms are connected to each other by automatic doors.\n\n
|
6
|
-
![]({{ images_dir }}/
|
7
|
-
card. Once you enter a room the door automatically closes
|
8
|
-
cannot be used again. A machine at the start will dispense
|
9
|
-
cards, but each room (including the starting room) contains
|
10
|
-
detect that you are holding more than three security cards
|
11
|
-
unattended security card on the floor, then all the doors will
|
12
|
-
locked. However, each room contains a box where you may safely
|
13
|
-
of security cards for use at a later stage.\n\nIf you simply tried
|
14
|
-
the rooms one at a time then as you entered room 3 you would have
|
15
|
-
cards and would be trapped in that room forever!\n\nHowever, if you
|
16
|
-
the storage boxes, then escape is possible. For example, you could enter
|
17
|
-
using your first card, place one card in the storage box, and use your third
|
18
|
-
to exit the room back to the start. Then after collecting three more cards
|
19
|
-
the dispensing machine you could use one to enter room 1 and collect the card
|
20
|
-
placed in the box a moment ago. You now have three cards again and will be able
|
6
|
+
![p327_rooms_of_doom.gif]({{ images_dir }}/p327_rooms_of_doom.gif)\n\nEach door
|
7
|
+
is operated by a security card. Once you enter a room the door automatically closes
|
8
|
+
and that security card cannot be used again. A machine at the start will dispense
|
9
|
+
an unlimited number of cards, but each room (including the starting room) contains
|
10
|
+
scanners and if they detect that you are holding more than three security cards
|
11
|
+
or if they detect an unattended security card on the floor, then all the doors will
|
12
|
+
become permanently locked. However, each room contains a box where you may safely
|
13
|
+
store any number of security cards for use at a later stage.\n\nIf you simply tried
|
14
|
+
to travel through the rooms one at a time then as you entered room 3 you would have
|
15
|
+
used all three cards and would be trapped in that room forever!\n\nHowever, if you
|
16
|
+
make use of the storage boxes, then escape is possible. For example, you could enter
|
17
|
+
room 1 using your first card, place one card in the storage box, and use your third
|
18
|
+
card to exit the room back to the start. Then after collecting three more cards
|
19
|
+
from the dispensing machine you could use one to enter room 1 and collect the card
|
20
|
+
you placed in the box a moment ago. You now have three cards again and will be able
|
21
21
|
to travel through the remaining three doors. This method allows you to travel through
|
22
22
|
all three rooms using six security cards in total.\n\nIt is possible to travel through
|
23
23
|
six rooms using a total of 123 security cards while carrying a maximum of 3 cards.\n\nLet
|
@@ -25,9 +25,6 @@
|
|
25
25
|
<var>R</var> be the number of rooms to travel through.\n\nLet M(<var>C</var>,<var>R</var>)
|
26
26
|
be the minimum number of cards required from the dispensing machine to travel through
|
27
27
|
<var>R</var> rooms carrying up to a maximum of <var>C</var> cards at any time.\n\nFor
|
28
|
-
example, M(3,6)=123 and M(4,6)=23. \nAnd, ΣM(<var>C</var>,6)=146 for 3
|
29
|
-
|
30
|
-
|
31
|
-
<var>C</var> ![≤]({{ images_dir }}/symbol_le.gif) 10.\n\nFind ΣM(<var>C</var>,30)
|
32
|
-
for 3 ![≤]({{ images_dir }}/symbol_le.gif) <var>C</var> ![≤]({{ images_dir }}/symbol_le.gif)
|
33
|
-
40.\n\n"
|
28
|
+
example, M(3,6)=123 and M(4,6)=23. \nAnd, ΣM(<var>C</var>,6)=146 for 3 ≤ <var>C</var>
|
29
|
+
≤ 4.\n\nYou are given that ΣM(<var>C</var>,10)=10382 for 3 ≤ <var>C</var> ≤ 10.\n\nFind
|
30
|
+
ΣM(<var>C</var>,30) for 3 ≤ <var>C</var> ≤ 40.\n\n"
|
data/data/problems/328.yml
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
---
|
2
2
|
:id: 328
|
3
3
|
:name: Lowest-cost Search
|
4
|
-
:url:
|
4
|
+
:url: https://projecteuler.net/problem=328
|
5
5
|
:content: "We are trying to find a hidden number selected from the set of integers
|
6
|
-
{1, 2, ..., <var>n</var>} by asking questions.
|
7
|
-
|
6
|
+
{1, 2, ..., <var>n</var>} by asking questions. Each number (question) we ask, has
|
7
|
+
a <u>cost equal to the number asked</u> and we get one of three possible answers:\n\n-
|
8
8
|
\"Your guess is lower than the hidden number\", or\n- \"Yes, that's it!\", or\n-
|
9
9
|
\"Your guess is higher than the hidden number\".\n\nGiven the value of <var>n</var>,
|
10
10
|
an _optimal strategy_ minimizes the total cost (i.e. the sum of all the questions
|
11
11
|
asked) <u>for the worst possible case</u>. E.g.\n\nIf <var>n</var>=3, the best we
|
12
|
-
can do is obviously to ask the number \" **2
|
12
|
+
can do is obviously to ask the number \" **2**\". The answer will immediately lead
|
13
13
|
us to find the hidden number (at a total cost = 2).\n\nIf <var>n</var>=8, we might
|
14
14
|
decide to use a \"binary search\" type of strategy: Our first question would be
|
15
|
-
\" **4
|
16
|
-
questions. \
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
15
|
+
\" **4**\" and if the hidden number is higher than 4 we will need one or two additional
|
16
|
+
questions. \nLet our second question be \" **6**\". If the hidden number is still
|
17
|
+
higher than 6, we will need a third question in order to discriminate between 7
|
18
|
+
and 8. \nThus, our third question will be \" **7**\" and the total cost for this
|
19
|
+
worst-case scenario will be 4+6+7= **17**.\n\nWe can improve considerably the worst-case
|
20
|
+
cost for <var>n</var>=8, by asking \" **5**\" as our first question. \nIf we are
|
21
|
+
told that the hidden number is higher than 5, our second question will be \" **7**\",
|
22
|
+
then we'll know for certain what the hidden number is (for a total cost of 5+7=
|
23
|
+
**12** ). \nIf we are told that the hidden number is lower than 5, our second question
|
24
|
+
will be \" **3**\" and if the hidden number is lower than 3 our third question will
|
25
|
+
be \" **1**\", giving a total cost of 5+3+1= **9**. \nSince **12** \\> **9** ,
|
26
|
+
the worst-case cost for this strategy is **12**. That's better than what we achieved
|
27
|
+
previously with the \"binary search\" strategy; it is also better than or equal
|
28
|
+
to any other strategy. \nSo, in fact, we have just described an optimal strategy
|
29
|
+
for <var>n</var>=8.\n\nLet C(<var>n</var>) be the worst-case cost achieved by an
|
30
|
+
optimal strategy for <var>n</var>, as described above. \nThus C(1) = 0, C(2) =
|
31
|
+
1, C(3) = 2 and C(8) = 12. \nSimilarly, C(100) = 400 and ![p328_sum1.gif]({{ images_dir
|
32
|
+
}}/p328_sum1.gif)C(<var>n</var>) = 17575.\n\nFind ![p328_sum2.gif]({{ images_dir
|
33
|
+
}}/p328_sum2.gif)C(<var>n</var>).\n\n"
|
data/data/problems/329.yml
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
---
|
2
2
|
:id: 329
|
3
3
|
:name: Prime Frog
|
4
|
-
:url:
|
5
|
-
:content: "Susan has a prime frog. \
|
6
|
-
numbered 1 to 500
|
4
|
+
:url: https://projecteuler.net/problem=329
|
5
|
+
:content: "Susan has a prime frog. \nHer frog is jumping around over 500 squares
|
6
|
+
numbered 1 to 500. He can only jump one square to the left or to the right, with
|
7
7
|
equal probability, and he cannot jump outside the range [1;500]. \n(if it lands
|
8
8
|
at either end, it automatically jumps to the only available square on the next move.)\n\nWhen
|
9
9
|
he is on a square with a prime number on it, he croaks 'P' (PRIME) with probability
|
10
10
|
2/3 or 'N' (NOT PRIME) with probability 1/3 just before jumping to the next square.
|
11
|
-
\ \
|
11
|
+
\ \nWhen he is on a square with a number on it that is not a prime he croaks 'P'
|
12
12
|
with probability 1/3 or 'N' with probability 2/3 just before jumping to the next
|
13
13
|
square.\n\nGiven that the frog's starting position is random with the same probability
|
14
14
|
for every square, and given that she listens to his first 15 croaks, what is the
|
15
|
-
probability that she hears the sequence PPPPNNPPPNPPNPN?\n\
|
16
|
-
a fraction p/q in reduced form.\
|
15
|
+
probability that she hears the sequence PPPPNNPPPNPPNPN?\n\nGive your answer as
|
16
|
+
a fraction p/q in reduced form.\n"
|
data/data/problems/33.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
:id: 33
|
3
|
-
:name: Digit
|
4
|
-
:url:
|
3
|
+
:name: Digit cancelling fractions
|
4
|
+
:url: https://projecteuler.net/problem=33
|
5
5
|
:content: |+
|
6
6
|
The fraction <sup>49</sup>/<sub>98</sub> is a curious fraction, as an inexperienced mathematician in attempting to simplify it may incorrectly believe that <sup>49</sup>/<sub>98</sub> = <sup>4</sup>/<sub>8</sub>, which is correct, is obtained by cancelling the 9s.
|
7
7
|
|