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/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
|
+
![p395_pythagorean.gif]({{ images_dir }}/p395_pythagorean.gif)
|
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> ![<]({{ images_dir }}/symbol_lt.gif) 8.\n\nFind the last 9 digits of
|
20
|
-
ΣG(<var>n</var>) for 1 ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var> ![<]({{
|
21
|
-
images_dir }}/symbol_lt.gif) 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> ![≤]({{ images_dir }}/symbol_le.gif) <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![]({{ images_dir }}/p400_winning.png)\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![p400_winning.png]({{ images_dir }}/p400_winning.png)\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 ![≤]({{ images_dir }}/symbol_le.gif) <var>k</var> ![≤]({{ images_dir }}/symbol_le.gif)
|
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 ![]({{ images_dir }}/p_404_c_ellipse.gif)\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 ![p404_c_ellipse.gif]({{ images_dir }}/p404_c_ellipse.gif)\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 ![]({{ images_dir }}/
|
9
|
-
the tilings <var>T</var>(<var>n</var>) 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 ![p405_tile1.png]({{ images_dir }}/p405_tile1.png)\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 ![p405_tile2.gif]({{ images_dir }}/p405_tile2.gif)\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>, ![√]({{
|
37
|
-
images_dir }}/symbol_radic.gif)<var>k</var>, ![√]({{ images_dir }}/symbol_radic.gif)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> ![≡]({{ images_dir }}/symbol_cong.gif) <var>a</var>
|
11
|
-
(mod <var>n</var>). \n\rSo M(6) = 4.\n\nFind ![∑]({{ images_dir }}/symbol_sum.gif)M(<var>n</var>)
|
12
|
-
for 1 ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var> ![≤]({{ images_dir }}/symbol_le.gif)
|
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"
|