euler-manager 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/395.yml
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 395
|
|
3
3
|
:name: Pythagorean tree
|
|
4
|
-
:url:
|
|
5
|
-
:content:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
triangle, with one of its sides coinciding with that leg
|
|
12
|
-
for both squares, considering as their bases the sides touching the triangle
|
|
13
|
-
resulting figure, after an infinite number of iterations, is the Pythagorean tree
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
tree, which encloses the Pythagorean tree completely
|
|
17
|
-
|
|
18
|
-
places
|
|
4
|
+
:url: https://projecteuler.net/problem=395
|
|
5
|
+
:content: |+
|
|
6
|
+
The **Pythagorean tree** is a fractal generated by the following procedure:
|
|
7
|
+
|
|
8
|
+
Start with a unit square. Then, calling one of the sides its base (in the animation, the bottom side is the base):
|
|
9
|
+
|
|
10
|
+
1. Attach a right triangle to the side opposite the base, with the hypotenuse coinciding with that side and with the sides in a 3-4-5 ratio. Note that the smaller side of the triangle must be on the 'right' side with respect to the base (see animation).
|
|
11
|
+
2. Attach a square to each leg of the right triangle, with one of its sides coinciding with that leg.
|
|
12
|
+
3. Repeat this procedure for both squares, considering as their bases the sides touching the triangle.
|
|
13
|
+
The resulting figure, after an infinite number of iterations, is the Pythagorean tree.
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
It can be shown that there exists at least one rectangle, whose sides are parallel to the largest square of the Pythagorean tree, which encloses the Pythagorean tree completely.
|
|
17
|
+
|
|
18
|
+
Find the smallest area possible for such a bounding rectangle, and give your answer rounded to 10 decimal places.
|
|
19
|
+
|
data/data/problems/396.yml
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 396
|
|
3
3
|
:name: Weak Goodstein sequence
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=396
|
|
5
5
|
:content: "For any positive integer n, the **nth weak Goodstein sequence** {g<sub>1</sub>,
|
|
6
6
|
g<sub>2</sub>, g<sub>3</sub>, ...} is defined as:\n\n- g<sub>1</sub> = <var>n</var>\n-
|
|
7
|
-
for <var>k</var>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
since
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<var>n</var>  8.\n\nFind the last 9 digits of
|
|
20
|
-
ΣG(<var>n</var>) for 1  <var>n</var>  16.\n\n"
|
|
7
|
+
for <var>k</var> \\> 1, g<sub><var>k</var></sub> is obtained by writing g<sub><var>k</var>-1</sub>
|
|
8
|
+
in base <var>k</var>, interpreting it as a base <var>k</var> + 1 number, and subtracting
|
|
9
|
+
1.\nThe sequence terminates when g<sub><var>k</var></sub> becomes 0.\n\nFor example,
|
|
10
|
+
the 6th weak Goodstein sequence is {6, 11, 17, 25, ...}:\n\n- g<sub>1</sub> = 6.\n-
|
|
11
|
+
g<sub>2</sub> = 11 since 6 = 110<sub>2</sub>, 110<sub>3</sub> = 12, and 12 - 1 =
|
|
12
|
+
11.\n- g<sub>3</sub> = 17 since 11 = 102<sub>3</sub>, 102<sub>4</sub> = 18, and
|
|
13
|
+
18 - 1 = 17.\n- g<sub>4</sub> = 25 since 17 = 101<sub>4</sub>, 101<sub>5</sub> =
|
|
14
|
+
26, and 26 - 1 = 25.\nand so on.\n\nIt can be shown that every weak Goodstein sequence
|
|
15
|
+
terminates.\n\nLet G(<var>n</var>) be the number of nonzero elements in the <var>n</var>th
|
|
16
|
+
weak Goodstein sequence. \nIt can be verified that G(2) = 3, G(4) = 21 and G(6)
|
|
17
|
+
= 381. \nIt can also be verified that ΣG(<var>n</var>) = 2517 for 1 ≤ <var>n</var>
|
|
18
|
+
\\< 8.\n\nFind the last 9 digits of ΣG(<var>n</var>) for 1 ≤ <var>n</var> \\< 16.\n\n"
|
data/data/problems/397.yml
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 397
|
|
3
3
|
:name: Triangle on parabola
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=397
|
|
5
5
|
:content: "On the parabola <var>y</var> = <var>x</var><sup>2</sup>/<var>k</var>, three
|
|
6
6
|
points A(<var>a</var>, <var>a</var><sup>2</sup>/<var>k</var>), B(<var>b</var>, <var>b</var><sup>2</sup>/<var>k</var>)
|
|
7
7
|
and C(<var>c</var>, <var>c</var><sup>2</sup>/<var>k</var>) are chosen.\n\nLet F(<var>K</var>,
|
|
8
8
|
<var>X</var>) be the number of the integer quadruplets (<var>k</var>, <var>a</var>,
|
|
9
9
|
<var>b</var>, <var>c</var>) such that at least one angle of the triangle ABC is
|
|
10
|
-
45-degree, with 1
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}}/symbol_lt.gif) <var>c</var>  <var>X</var>.\n\nFor
|
|
14
|
-
example, F(1, 10) = 41 and F(10, 100) = 12492. \n\rFind F(10<sup>6</sup>, 10<sup>9</sup>).\n\n"
|
|
10
|
+
45-degree, with 1 ≤ <var>k</var> ≤ <var>K</var> and -<var>X</var> ≤ <var>a</var>
|
|
11
|
+
\\< <var>b</var> \\< <var>c</var> ≤ <var>X</var>.\n\nFor example, F(1, 10) = 41
|
|
12
|
+
and F(10, 100) = 12492. \nFind F(10<sup>6</sup>, 10<sup>9</sup>).\n\n"
|
data/data/problems/398.yml
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 398
|
|
3
3
|
:name: Cutting rope
|
|
4
|
-
:url:
|
|
5
|
-
:content:
|
|
6
|
-
with distance 1 from each other and from the endpoints. Among these points, we choose
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
rounded to 5 decimal places behind the decimal point.\n\n"
|
|
4
|
+
:url: https://projecteuler.net/problem=398
|
|
5
|
+
:content: |+
|
|
6
|
+
Inside a rope of length <var>n</var>, <var>n</var>-1 points are placed with distance 1 from each other and from the endpoints. Among these points, we choose <var>m</var>-1 points at random and cut the rope at these points to create <var>m</var> segments.
|
|
7
|
+
|
|
8
|
+
Let E(<var>n</var>, <var>m</var>) be the expected length of the second-shortest segment. For example, E(3, 2) = 2 and E(8, 3) = 16/7. Note that if multiple segments have the same shortest length the length of the second-shortest segment is defined as the same as the shortest length.
|
|
9
|
+
|
|
10
|
+
Find E(10<sup>7</sup>, 100). Give your answer rounded to 5 decimal places behind the decimal point.
|
|
11
|
+
|
data/data/problems/399.yml
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 399
|
|
3
3
|
:name: Squarefree Fibonacci Numbers
|
|
4
|
-
:url:
|
|
5
|
-
:content: "The first 15 fibonacci numbers are: \
|
|
6
|
-
\ \
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
number is
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
\ \
|
|
15
|
-
size=\"-1\">\
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
lower bound for that number.\r\n</font>\n\n"
|
|
4
|
+
:url: https://projecteuler.net/problem=399
|
|
5
|
+
:content: "The first 15 fibonacci numbers are: \n1,1,2,3,5,8,13,21,34,55,89,144,233,377,610.
|
|
6
|
+
\ \nIt can be seen that 8 and 144 are not squarefree: 8 is divisible by 4 and 144
|
|
7
|
+
is divisible by 4 and by 9. \n So the first 13 squarefree fibonacci numbers are:
|
|
8
|
+
\ \n1,1,2,3,5,13,21,34,55,89,233,377 and 610.\n\nThe 200th squarefree fibonacci
|
|
9
|
+
number is: 971183874599339129547649988289594072811608739584170445. \nThe last sixteen
|
|
10
|
+
digits of this number are: 1608739584170445 and in scientific notation this number
|
|
11
|
+
can be written as 9.7e53.\n\nFind the 100 000 000th squarefree fibonacci number.
|
|
12
|
+
\ \nGive as your answer its last sixteen digits followed by a comma followed by
|
|
13
|
+
the number in scientific notation (rounded to one digit after the decimal point).
|
|
14
|
+
\ \nFor the 200th squarefree number the answer would have been: 1608739584170445,9.7e53\n\n<font
|
|
15
|
+
size=\"-1\">\nNote:<br> \nFor this problem, assume that for every prime p, the first
|
|
16
|
+
fibonacci number divisible by p is not divisible by p<sup>2</sup> (this is part
|
|
17
|
+
of <b>Wall's conjecture</b>). This has been verified for primes ≤ 3·10<sup>15</sup>,
|
|
18
|
+
but has not been proven in general.<br>\n\nIf it happens that the conjecture is
|
|
19
|
+
false, then the accepted answer to this problem isn't guaranteed to be the 100 000
|
|
20
|
+
000th squarefree fibonacci number, rather it represents only a lower bound for that
|
|
21
|
+
number.\n</font>\n\n"
|
data/data/problems/4.yml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 4
|
|
3
3
|
:name: Largest palindrome product
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=4
|
|
5
5
|
:content: |+
|
|
6
|
-
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91
|
|
6
|
+
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
|
|
7
7
|
|
|
8
8
|
Find the largest palindrome made from the product of two 3-digit numbers.
|
|
9
9
|
|
data/data/problems/40.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 40
|
|
3
3
|
:name: Champernowne's constant
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=40
|
|
5
5
|
:content: |+
|
|
6
6
|
An irrational decimal fraction is created by concatenating the positive integers:
|
|
7
7
|
|
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
|
|
12
12
|
If _d_<sub><i>n</i></sub> represents the _n_<sup>th</sup> digit of the fractional part, find the value of the following expression.
|
|
13
13
|
|
|
14
|
-
_d_<sub>1</sub>
|
|
14
|
+
_d_<sub>1</sub> × _d_<sub>10</sub> × _d_<sub>100</sub> × _d_<sub>1000</sub> × _d_<sub>10000</sub> × _d_<sub>100000</sub> × _d_<sub>1000000</sub>
|
|
15
15
|
|
data/data/problems/400.yml
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 400
|
|
3
3
|
:name: Fibonacci tree game
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=400
|
|
5
5
|
:content: "A **Fibonacci tree** is a binary tree recursively defined as:\n\n- T(0)
|
|
6
|
-
is the empty tree.\
|
|
7
|
-
consists of a root node that has T(<var>k</var>-1) and T(<var>k</var>-2) as children.\
|
|
6
|
+
is the empty tree.\n- T(1) is the binary tree with only one node.\n- T(<var>k</var>)
|
|
7
|
+
consists of a root node that has T(<var>k</var>-1) and T(<var>k</var>-2) as children.\n\nOn
|
|
8
8
|
such a tree two players play a take-away game. On each turn a player selects a node
|
|
9
|
-
and removes that node along with the subtree rooted at that node. \
|
|
9
|
+
and removes that node along with the subtree rooted at that node. \nThe player
|
|
10
10
|
who is forced to take the root node of the entire tree loses.\n\nHere are the winning
|
|
11
11
|
moves of the first player on the first turn for T(<var>k</var>) from <var>k</var>=1
|
|
12
|
-
to <var>k</var>=6.\n\n\n\
|
|
13
|
-
be the number of winning moves of the first player (i.e.
|
|
14
|
-
second player has no winning strategy) on the first turn
|
|
15
|
-
is played on T(<var>k</var>).\
|
|
16
|
-
= 17.\n\nFind <var>f</var>(10000). Give the last 18 digits
|
|
12
|
+
to <var>k</var>=6.\n\n\n\nLet
|
|
13
|
+
<var>f</var>(<var>k</var>) be the number of winning moves of the first player (i.e.
|
|
14
|
+
the moves for which the second player has no winning strategy) on the first turn
|
|
15
|
+
of the game when this game is played on T(<var>k</var>).\n\nFor example, <var>f</var>(5)
|
|
16
|
+
= 1 and <var>f</var>(10) = 17.\n\nFind <var>f</var>(10000). Give the last 18 digits
|
|
17
|
+
of your answer.\n\n"
|
data/data/problems/401.yml
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 401
|
|
3
3
|
:name: Sum of squares of divisors
|
|
4
|
-
:url:
|
|
5
|
-
:content: "The divisors of 6 are 1,2,3 and 6. \
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
SIGMA2(10<sup>15</sup>) modulo 10<sup>9</sup>.\n\n"
|
|
4
|
+
:url: https://projecteuler.net/problem=401
|
|
5
|
+
:content: "The divisors of 6 are 1,2,3 and 6. \nThe sum of the squares of these numbers
|
|
6
|
+
is 1+4+9+36=50.\n\nLet sigma2(n) represent the sum of the squares of the divisors
|
|
7
|
+
of n. Thus sigma2(6)=50.\n\nLet SIGMA2 represent the summatory function of sigma2,
|
|
8
|
+
that is SIGMA2(n)=∑sigma2(i) for i=1 to n. \nThe first 6 values of SIGMA2 are:
|
|
9
|
+
1,6,16,37,63 and 113.\n\nFind SIGMA2(10<sup>15</sup>) modulo 10<sup>9</sup>.\n\n"
|
data/data/problems/402.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 402
|
|
3
3
|
:name: Integer-valued polynomials
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=402
|
|
5
5
|
:content: "It can be shown that the polynomial <var>n</var><sup>4</sup> + 4<var>n</var><sup>3</sup>
|
|
6
6
|
+ 2<var>n</var><sup>2</sup> + 5<var>n</var> is a multiple of 6 for every integer
|
|
7
7
|
<var>n</var>. It can also be shown that 6 is the largest integer satisfying this
|
|
@@ -9,11 +9,9 @@
|
|
|
9
9
|
such that <var>n</var><sup>4</sup> + <var>a</var><var>n</var><sup>3</sup> + <var>b</var><var>n</var><sup>2</sup>
|
|
10
10
|
+ <var>c</var><var>n</var> is a multiple of <var>m</var> for all integers <var>n</var>.
|
|
11
11
|
For example, M(4, 2, 5) = 6.\n\nAlso, define S(<var>N</var>) as the sum of M(<var>a</var>,
|
|
12
|
-
<var>b</var>, <var>c</var>) for all 0
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
for 2  <var>k</var> 
|
|
19
|
-
1234567890123.\n\n"
|
|
12
|
+
<var>b</var>, <var>c</var>) for all 0 \\< <var>a</var>, <var>b</var>, <var>c</var>
|
|
13
|
+
≤ <var>N</var>.\n\nWe can verify that S(10) = 1972 and S(10000) = 2024258331114.\n\nLet
|
|
14
|
+
F<sub><var>k</var></sub> be the Fibonacci sequence: \nF<sub>0</sub> = 0, F<sub>1</sub>
|
|
15
|
+
= 1 and \nF<sub><var>k</var></sub> = F<sub><var>k</var>-1</sub> + F<sub><var>k</var>-2</sub>
|
|
16
|
+
for <var>k</var> ≥ 2.\n\nFind the last 9 digits of Σ S(F<sub><var>k</var></sub>)
|
|
17
|
+
for 2 ≤ <var>k</var> ≤ 1234567890123.\n\n"
|
data/data/problems/403.yml
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 403
|
|
3
3
|
:name: Lattice points enclosed by parabola and line
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=403
|
|
5
5
|
:content: "For integers <var>a</var> and <var>b</var>, we define <var>D</var>(<var>a</var>,
|
|
6
6
|
<var>b</var>) as the domain enclosed by the parabola <var>y</var> = <var>x</var><sup>2</sup>
|
|
7
7
|
and the line <var>y</var> = <var>a</var>·<var>x</var> + <var>b</var>: \n<var>D</var>(<var>a</var>,
|
|
8
|
-
<var>b</var>) = { (<var>x</var>, <var>y</var>) | <var>x</var><sup>2</sup>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<var>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
= 344 and S(100) = 26709528.\n\nFind S(10<sup>12</sup>). Give your answer mod 10<sup>8</sup>.\n\n"
|
|
8
|
+
<var>b</var>) = { (<var>x</var>, <var>y</var>) | <var>x</var><sup>2</sup> ≤ <var>y</var>
|
|
9
|
+
≤ <var>a</var>·<var>x</var> + <var>b</var> }.\n\nL(<var>a</var>, <var>b</var>) is
|
|
10
|
+
defined as the number of lattice points contained in <var>D</var>(<var>a</var>,
|
|
11
|
+
<var>b</var>). \nFor example, L(1, 2) = 8 and L(2, -1) = 1.\n\nWe also define S(<var>N</var>)
|
|
12
|
+
as the sum of L(<var>a</var>, <var>b</var>) for all the pairs (<var>a</var>, <var>b</var>)
|
|
13
|
+
such that the area of <var>D</var>(<var>a</var>, <var>b</var>) is a rational number
|
|
14
|
+
and |<var>a</var>|,|<var>b</var>| ≤ <var>N</var>. \nWe can verify that S(5) = 344
|
|
15
|
+
and S(100) = 26709528.\n\nFind S(10<sup>12</sup>). Give your answer mod 10<sup>8</sup>.\n\n"
|
data/data/problems/404.yml
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 404
|
|
3
3
|
:name: Crisscross Ellipses
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=404
|
|
5
5
|
:content: "E<sub><var>a</var></sub> is an ellipse with an equation of the form x<sup>2</sup>
|
|
6
|
-
+ 4y<sup>2</sup> = 4<var>a</var><sup>2</sup>. \
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}}/symbol_lt.gif) 90°.\n\n \n\n<var>b</var>
|
|
6
|
+
+ 4y<sup>2</sup> = 4<var>a</var><sup>2</sup>. \nE<sub><var>a</var></sub>' is the
|
|
7
|
+
rotated image of E<sub><var>a</var></sub> by θ degrees counterclockwise around the
|
|
8
|
+
origin O(0, 0) for 0° \\< θ \\< 90°.\n\n \n\n<var>b</var>
|
|
10
9
|
is the distance to the origin of the two intersection points closest to the origin
|
|
11
|
-
and <var>c</var> is the distance of the two other intersection points. \
|
|
10
|
+
and <var>c</var> is the distance of the two other intersection points. \nWe call
|
|
12
11
|
an ordered triplet (<var>a</var>, <var>b</var>, <var>c</var>) a _canonical ellipsoidal
|
|
13
|
-
triplet_ if <var>a</var>, <var>b</var> and <var>c</var> are positive integers. \
|
|
12
|
+
triplet_ if <var>a</var>, <var>b</var> and <var>c</var> are positive integers. \nFor
|
|
14
13
|
example, (209, 247, 286) is a canonical ellipsoidal triplet.\n\nLet C(<var>N</var>)
|
|
15
14
|
be the number of distinct canonical ellipsoidal triplets (<var>a</var>, <var>b</var>,
|
|
16
|
-
<var>c</var>) for <var>a</var>
|
|
17
|
-
|
|
18
|
-
C(10<sup>6</sup>) = 11845.\n\nFind C(10<sup>17</sup>).\n\n"
|
|
15
|
+
<var>c</var>) for <var>a</var> ≤ <var>N</var>. \nIt can be verified that C(10<sup>3</sup>)
|
|
16
|
+
= 7, C(10<sup>4</sup>) = 106 and C(10<sup>6</sup>) = 11845.\n\nFind C(10<sup>17</sup>).\n\n"
|
data/data/problems/405.yml
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 405
|
|
3
3
|
:name: A rectangular tiling
|
|
4
|
-
:url:
|
|
5
|
-
:content: "We wish to tile a rectangle whose length is twice its width. \
|
|
6
|
-
be the tiling consisting of a single rectangle. \
|
|
4
|
+
:url: https://projecteuler.net/problem=405
|
|
5
|
+
:content: "We wish to tile a rectangle whose length is twice its width. \nLet <var>T</var>(0)
|
|
6
|
+
be the tiling consisting of a single rectangle. \nFor <var>n</var> \\> 0, let <var>T</var>(<var>n</var>)
|
|
7
7
|
be obtained from <var>T</var>(<var>n</var>-1) by replacing all tiles in the following
|
|
8
|
-
manner:\n\n  for <var>n</var> from
|
|
10
|
-
images_dir }}/
|
|
11
|
-
points where four tiles meet in <var>T</var>(<var>n</var>). \
|
|
12
|
-
= 0, <var>f</var>(4) = 82 and <var>f</var>(10<sup>9</sup>)
|
|
13
|
-
126897180.\n\nFind <var>f</var>(10<sup><var>k</var></sup>)
|
|
14
|
-
give your answer modulo 17<sup>7</sup>.\n\n"
|
|
8
|
+
manner:\n\n \n\nThe following
|
|
9
|
+
animation demonstrates the tilings <var>T</var>(<var>n</var>) for <var>n</var> from
|
|
10
|
+
0 to 5:\n\n \n\nLet <var>f</var>(<var>n</var>)
|
|
11
|
+
be the number of points where four tiles meet in <var>T</var>(<var>n</var>). \nFor
|
|
12
|
+
example, <var>f</var>(1) = 0, <var>f</var>(4) = 82 and <var>f</var>(10<sup>9</sup>)
|
|
13
|
+
mod 17<sup>7</sup> = 126897180.\n\nFind <var>f</var>(10<sup><var>k</var></sup>)
|
|
14
|
+
for <var>k</var> = 10<sup>18</sup>, give your answer modulo 17<sup>7</sup>.\n\n"
|
data/data/problems/406.yml
CHANGED
|
@@ -1,38 +1,32 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 406
|
|
3
3
|
:name: Guessing Game
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=406
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
told that 2 is higher than the hidden number (for a cost of <var>b</var>=3), then
|
|
15
|
-
we are sure that \" **1** \" is the hidden number (for a total cost of **3** ).
|
|
16
|
-
\ \n\rIf we are told that 2 is lower than the hidden number (for a cost of <var>a</var>=2),
|
|
17
|
-
then our next question will be \" **4** \". \n\rIf we are told that 4 is higher
|
|
6
|
+
{1, 2, ..., <var>n</var>} by asking questions. Each number (question) we ask, we
|
|
7
|
+
get one of three possible answers:\n\n- \"Your guess is lower than the hidden number\"
|
|
8
|
+
(and you incur a cost of <var>a</var>), or\n- \"Your guess is higher than the hidden
|
|
9
|
+
number\" (and you incur a cost of <var>b</var>), or\n- \"Yes, that's it!\" (and
|
|
10
|
+
the game ends).\n\nGiven the value of <var>n</var>, <var>a</var>, and <var>b</var>,
|
|
11
|
+
an _optimal strategy_ minimizes the total cost <u>for the worst possible case</u>.\n\nFor
|
|
12
|
+
example, if <var>n</var> = 5, <var>a</var> = 2, and <var>b</var> = 3, then we may
|
|
13
|
+
begin by asking \" **2**\" as our first question.\n\nIf we are told that 2 is higher
|
|
18
14
|
than the hidden number (for a cost of <var>b</var>=3), then we are sure that \"
|
|
19
|
-
**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
**1**\" is the hidden number (for a total cost of **3** ). \nIf we are told that
|
|
16
|
+
2 is lower than the hidden number (for a cost of <var>a</var>=2), then our next
|
|
17
|
+
question will be \" **4**\". \nIf we are told that 4 is higher than the hidden
|
|
18
|
+
number (for a cost of <var>b</var>=3), then we are sure that \" **3**\" is the hidden
|
|
19
|
+
number (for a total cost of 2+3= **5** ). \nIf we are told that 4 is lower than
|
|
20
|
+
the hidden number (for a cost of <var>a</var>=2), then we are sure that \" **5**\"
|
|
21
|
+
is the hidden number (for a total cost of 2+2= **4** ). \nThus, the worst-case
|
|
22
|
+
cost achieved by this strategy is **5**. It can also be shown that this is the lowest
|
|
23
|
+
worst-case cost that can be achieved. So, in fact, we have just described an optimal
|
|
24
|
+
strategy for the given values of <var>n</var>, <var>a</var>, and <var>b</var>.\n\nLet
|
|
25
|
+
C(<var>n</var>, <var>a</var>, <var>b</var>) be the worst-case cost achieved by an
|
|
26
|
+
optimal strategy for the given values of <var>n</var>, <var>a</var>, and <var>b</var>.\n\nHere
|
|
27
|
+
are a few examples: \nC(5, 2, 3) = 5 \nC(500, √2, √3) = 13.22073197... \nC(20000,
|
|
28
|
+
5, 7) = 82 \nC(2000000, √5, √7) = 49.63755955...\n\nLet F<sub><var>k</var></sub>
|
|
31
29
|
be the Fibonacci numbers: F<sub><var>k</var></sub> = F<sub><var>k</var>-1</sub>
|
|
32
30
|
+ F<sub><var>k</var>-2</sub> with base cases F<sub>1</sub> = F<sub>2</sub> = 1.
|
|
33
|
-
\ \nFind
|
|
34
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>k</var><img
|
|
35
|
-
src=\"%7B%7B%20images_dir%20%7D%7D/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
|
|
36
|
-
border=\"0\" style=\"vertical-align:middle;\">30</sub> C(10<sup>12</sup>, <var>k</var>, F<sub><var>k</var></sub>),
|
|
31
|
+
\ \nFind ∑<sub>1≤<var>k</var>≤30</sub> C(10<sup>12</sup>, √<var>k</var>, √F<sub><var>k</var></sub>),
|
|
38
32
|
and give your answer rounded to 8 decimal places behind the decimal point.\n\n"
|
data/data/problems/407.yml
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 407
|
|
3
3
|
:name: Idempotents
|
|
4
|
-
:url:
|
|
5
|
-
:content: "If we calculate <var>a</var><sup>2</sup> mod 6 for 0
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
such that <var>a</var><sup>2</sup>  <var>a</var>
|
|
11
|
-
(mod <var>n</var>). \n\rSo M(6) = 4.\n\nFind M(<var>n</var>)
|
|
12
|
-
for 1  <var>n</var> 
|
|
13
|
-
10<sup>7</sup>.\n\n"
|
|
4
|
+
:url: https://projecteuler.net/problem=407
|
|
5
|
+
:content: "If we calculate <var>a</var><sup>2</sup> mod 6 for 0 ≤ <var>a</var> ≤ 5
|
|
6
|
+
we get: 0,1,4,3,4,1.\n\nThe largest value of <var>a</var> such that <var>a</var><sup>2</sup>
|
|
7
|
+
≡ <var>a</var> mod 6 is 4. \nLet's call M(<var>n</var>) the largest value of <var>a</var>
|
|
8
|
+
\\< <var>n</var> such that <var>a</var><sup>2</sup> ≡ <var>a</var> (mod <var>n</var>).
|
|
9
|
+
\ \nSo M(6) = 4.\n\nFind ∑M(<var>n</var>) for 1 ≤ <var>n</var> ≤ 10<sup>7</sup>.\n\n"
|
data/data/problems/408.yml
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
:id: 408
|
|
3
3
|
:name: Admissible paths through a grid
|
|
4
|
-
:url:
|
|
4
|
+
:url: https://projecteuler.net/problem=408
|
|
5
5
|
:content: "Let's call a lattice point (<var>x</var>, <var>y</var>) _inadmissible_
|
|
6
|
-
if <var>x</var>, <var>y</var> and <var>x</var
|
|
7
|
-
squares. \
|
|
8
|
-
4) are not.\n\nConsider a path from point (<var>x</var><sub>1</sub>,
|
|
9
|
-
to point (<var>x</var><sub>2</sub>, <var>y</var><sub>2</sub>)
|
|
10
|
-
north or east. \
|
|
11
|
-
points are inadmissible.\n\nLet P(<var>n</var>) be the number
|
|
12
|
-
from (0, 0) to (<var>n</var>, <var>n</var>). \
|
|
13
|
-
252, P(16) = 596994440 and P(1000) mod 1
|
|
14
|
-
mod 1
|
|
6
|
+
if <var>x</var>, <var>y</var> and <var>x</var> + <var>y</var> are all
|
|
7
|
+
positive perfect squares. \nFor example, (9, 16) is inadmissible, while (0, 4),
|
|
8
|
+
(3, 1) and (9, 4) are not.\n\nConsider a path from point (<var>x</var><sub>1</sub>,
|
|
9
|
+
<var>y</var><sub>1</sub>) to point (<var>x</var><sub>2</sub>, <var>y</var><sub>2</sub>)
|
|
10
|
+
using only unit steps north or east. \nLet's call such a path _admissible_ if none
|
|
11
|
+
of its intermediate points are inadmissible.\n\nLet P(<var>n</var>) be the number
|
|
12
|
+
of admissible paths from (0, 0) to (<var>n</var>, <var>n</var>). \nIt can be verified
|
|
13
|
+
that P(5) = 252, P(16) = 596994440 and P(1000) mod 1 000 000 007
|
|
14
|
+
= 341920854.\n\nFind P(10 000 000) mod 1 000 000 007.\n\n"
|