euler-manager 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -1
- data/Rakefile +3 -0
- data/bin/euler +28 -9
- data/config/config.rb +1 -0
- data/data/answers.yml +430 -456
- 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/p295_lenticular.gif +0 -0
- data/data/images/p296_bisector.gif +0 -0
- data/data/images/p303_formula100.gif +0 -0
- data/data/images/p303_formula10000.gif +0 -0
- data/data/images/p392_gridlines.png +0 -0
- data/data/images/p400_winning.png +0 -0
- data/data/images/p411_longpath.png +0 -0
- data/data/images/p412_table53.png +0 -0
- data/data/images/p412_tablenums.png +0 -0
- data/data/images/p422_hyperbola.gif +0 -0
- data/data/images/p428_necklace.png +0 -0
- data/data/images/p_015.gif +0 -0
- data/data/images/p_068_1.gif +0 -0
- data/data/images/p_068_2.gif +0 -0
- data/data/images/p_085.gif +0 -0
- data/data/images/p_086.gif +0 -0
- data/data/images/p_090.gif +0 -0
- data/data/images/p_091_1.gif +0 -0
- data/data/images/p_091_2.gif +0 -0
- data/data/images/p_107_1.gif +0 -0
- data/data/images/p_107_2.gif +0 -0
- data/data/images/p_109.gif +0 -0
- data/data/images/p_126.gif +0 -0
- data/data/images/p_128.gif +0 -0
- data/data/images/p_138.gif +0 -0
- data/data/images/p_139.gif +0 -0
- data/data/images/p_143_torricelli.gif +0 -0
- data/data/images/p_144_1.gif +0 -0
- data/data/images/p_144_2.gif +0 -0
- data/data/images/p_147.gif +0 -0
- data/data/images/p_150.gif +0 -0
- data/data/images/p_151.gif +0 -0
- data/data/images/p_152_sum.gif +0 -0
- data/data/images/p_153_formule1.gif +0 -0
- data/data/images/p_153_formule2.gif +0 -0
- data/data/images/p_153_formule5.gif +0 -0
- data/data/images/p_153_formule6.gif +0 -0
- data/data/images/p_154_pyramid.gif +0 -0
- data/data/images/p_155_capacitors1.gif +0 -0
- data/data/images/p_155_capsform.gif +0 -0
- data/data/images/p_155_capsmu.gif +0 -0
- data/data/images/p_161_k9.gif +0 -0
- data/data/images/p_161_trio1.gif +0 -0
- data/data/images/p_161_trio3.gif +0 -0
- data/data/images/p_163.gif +0 -0
- data/data/images/p_173_square_laminas.gif +0 -0
- data/data/images/p_177_quad.gif +0 -0
- data/data/images/p_184.gif +0 -0
- data/data/images/p_189_colours.gif +0 -0
- data/data/images/p_189_grid.gif +0 -0
- data/data/images/p_194_Fig.png +0 -0
- data/data/images/p_194_GraphA.png +0 -0
- data/data/images/p_194_GraphB.png +0 -0
- data/data/images/p_199_circles_in_circles.gif +0 -0
- data/data/images/p_201_laserbeam.gif +0 -0
- data/data/images/p_208_robotwalk.gif +0 -0
- data/data/images/p_215_crackfree.gif +0 -0
- data/data/images/p_220.gif +0 -0
- data/data/images/p_226_formula.gif +0 -0
- data/data/images/p_226_scoop2.gif +0 -0
- data/data/images/p_228.png +0 -0
- data/data/images/p_237.gif +0 -0
- data/data/images/p_244_example.gif +0 -0
- data/data/images/p_244_start.gif +0 -0
- data/data/images/p_244_target.gif +0 -0
- data/data/images/p_246_anim.gif +0 -0
- data/data/images/p_246_ellipse.gif +0 -0
- data/data/images/p_247_hypersquares.gif +0 -0
- data/data/images/p_251_cardano.gif +0 -0
- data/data/images/p_252_convexhole.gif +0 -0
- data/data/images/p_255_Example.gif +0 -0
- data/data/images/p_255_Heron.gif +0 -0
- data/data/images/p_256_tatami3.gif +0 -0
- data/data/images/p_257_bisector.gif +0 -0
- data/data/images/p_262_formula1.gif +0 -0
- data/data/images/p_264_TriangleCentres.gif +0 -0
- data/data/images/p_265_BinaryCircles.gif +0 -0
- data/data/images/p_270_CutSquare.gif +0 -0
- data/data/images/p_275_sculptures2.gif +0 -0
- data/data/images/p_281_pizza.gif +0 -0
- data/data/images/p_282_formula.gif +0 -0
- data/data/images/p_282formula3.gif +0 -0
- data/data/images/p_287_quadtree.gif +0 -0
- data/data/images/p_289_euler.gif +0 -0
- data/data/images/p_291_formula.gif +0 -0
- data/data/images/p_299_ThreeSimTri.gif +0 -0
- data/data/images/p_300_protein.gif +0 -0
- data/data/images/p_306_pstrip.gif +0 -0
- data/data/images/p_309_ladders.gif +0 -0
- data/data/images/p_311_biclinic.gif +0 -0
- data/data/images/p_312_sierpinsky8t.gif +0 -0
- data/data/images/p_312_sierpinskyAt.gif +0 -0
- data/data/images/p_313_sliding_game_1.gif +0 -0
- data/data/images/p_313_sliding_game_2.gif +0 -0
- data/data/images/p_314_landgrab.gif +0 -0
- data/data/images/p_315_clocks.gif +0 -0
- data/data/images/p_316_decexp1.gif +0 -0
- data/data/images/p_316_decexp2.gif +0 -0
- data/data/images/p_316_decexp3.gif +0 -0
- data/data/images/p_321_swapping_counters_1.gif +0 -0
- data/data/images/p_321_swapping_counters_2.gif +0 -0
- data/data/images/p_326_formula1.gif +0 -0
- data/data/images/p_326_formula2.gif +0 -0
- data/data/images/p_327_rooms_of_doom.gif +0 -0
- data/data/images/p_328_sum1.gif +0 -0
- data/data/images/p_328_sum2.gif +0 -0
- data/data/images/p_330_formula.gif +0 -0
- data/data/images/p_331_crossflips1.gif +0 -0
- data/data/images/p_331_crossflips2.gif +0 -0
- data/data/images/p_331_crossflips3.gif +0 -0
- data/data/images/p_332_spherical.jpg +0 -0
- data/data/images/p_332_sum.gif +0 -0
- data/data/images/p_334_beans.gif +0 -0
- data/data/images/p_334_cases.gif +0 -0
- data/data/images/p_334_lfloor.gif +0 -0
- data/data/images/p_334_oplus.gif +0 -0
- data/data/images/p_334_rfloor.gif +0 -0
- data/data/images/p_335_mancala.gif +0 -0
- data/data/images/p_335_sum.gif +0 -0
- data/data/images/p_336_maximix.gif +0 -0
- data/data/images/p_338_gridpaper.gif +0 -0
- data/data/images/p_340_formula.gif +0 -0
- data/data/images/p_344_silverdollar.gif +0 -0
- data/data/images/p_351_hexorchard.png +0 -0
- data/data/images/p_354_bee_honeycomb.png +0 -0
- data/data/images/p_356_cubicpoly1.gif +0 -0
- data/data/images/p_356_cubicpoly2.gif +0 -0
- data/data/images/p_361_Thue-Morse1.gif +0 -0
- data/data/images/p_364_comf_dist.gif +0 -0
- data/data/images/p_372_pencilray1.jpg +0 -0
- data/data/images/p_372_pencilray2.gif +0 -0
- data/data/images/p_380_mazes.gif +0 -0
- data/data/images/p_384_formula.gif +0 -0
- data/data/images/p_385_ellipsetriangle.png +0 -0
- data/data/images/p_394_eatpie.gif +0 -0
- data/data/images/p_395_pythagorean.gif +0 -0
- data/data/images/p_404_c_ellipse.gif +0 -0
- data/data/images/p_405_tile1.png +0 -0
- data/data/images/p_405_tile2.gif +0 -0
- data/data/images/p_420_matrix.gif +0 -0
- data/data/images/p_424_kakuro1.gif +0 -0
- data/data/images/p_426_baxball1.gif +0 -0
- data/data/images/p_426_baxball2.gif +0 -0
- data/data/images/p_430_flips.gif +0 -0
- data/data/images/sod_13.gif +115 -0
- data/data/images/spacer.gif +0 -0
- 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/data/problems/1.yml +5 -3
- data/data/problems/10.yml +3 -4
- data/data/problems/100.yml +7 -9
- data/data/problems/101.yml +32 -45
- data/data/problems/102.yml +11 -12
- data/data/problems/103.yml +18 -22
- data/data/problems/104.yml +9 -11
- data/data/problems/105.yml +12 -17
- data/data/problems/106.yml +14 -15
- data/data/problems/107.yml +16 -16
- data/data/problems/108.yml +17 -28
- data/data/problems/109.yml +27 -29
- data/data/problems/11.yml +24 -29
- data/data/problems/110.yml +11 -15
- data/data/problems/111.yml +27 -17
- data/data/problems/112.yml +13 -11
- data/data/problems/113.yml +11 -9
- data/data/problems/114.yml +46 -100
- data/data/problems/115.yml +15 -12
- data/data/problems/116.yml +33 -72
- data/data/problems/117.yml +36 -78
- data/data/problems/118.yml +5 -5
- data/data/problems/119.yml +9 -7
- data/data/problems/12.yml +8 -9
- data/data/problems/120.yml +7 -13
- data/data/problems/121.yml +9 -11
- data/data/problems/122.yml +21 -38
- data/data/problems/123.yml +9 -9
- data/data/problems/124.yml +24 -54
- data/data/problems/125.yml +7 -8
- data/data/problems/126.yml +12 -13
- data/data/problems/127.yml +21 -27
- data/data/problems/128.yml +19 -14
- data/data/problems/129.yml +9 -8
- data/data/problems/13.yml +52 -2
- data/data/problems/130.yml +12 -15
- data/data/problems/131.yml +9 -8
- data/data/problems/132.yml +7 -8
- data/data/problems/133.yml +9 -9
- data/data/problems/134.yml +7 -15
- data/data/problems/135.yml +9 -16
- data/data/problems/136.yml +9 -13
- data/data/problems/137.yml +22 -32
- data/data/problems/138.yml +11 -16
- data/data/problems/139.yml +11 -11
- data/data/problems/14.yml +14 -24
- data/data/problems/140.yml +18 -25
- data/data/problems/141.yml +10 -11
- data/data/problems/142.yml +3 -10
- data/data/problems/143.yml +13 -16
- data/data/problems/144.yml +23 -26
- data/data/problems/145.yml +7 -7
- data/data/problems/146.yml +6 -6
- data/data/problems/147.yml +7 -8
- data/data/problems/148.yml +15 -7
- data/data/problems/149.yml +26 -35
- data/data/problems/15.yml +7 -7
- data/data/problems/150.yml +18 -29
- data/data/problems/151.yml +17 -15
- data/data/problems/152.yml +11 -8
- data/data/problems/153.yml +38 -53
- data/data/problems/154.yml +10 -12
- data/data/problems/155.yml +12 -15
- data/data/problems/156.yml +20 -22
- data/data/problems/157.yml +26 -28
- data/data/problems/158.yml +13 -14
- data/data/problems/159.yml +15 -25
- data/data/problems/16.yml +5 -2
- data/data/problems/160.yml +3 -4
- data/data/problems/161.yml +6 -10
- data/data/problems/162.yml +10 -11
- data/data/problems/163.yml +13 -15
- data/data/problems/164.yml +3 -3
- data/data/problems/165.yml +25 -28
- data/data/problems/166.yml +7 -11
- data/data/problems/167.yml +10 -12
- data/data/problems/168.yml +7 -9
- data/data/problems/169.yml +4 -5
- data/data/problems/17.yml +7 -7
- data/data/problems/170.yml +7 -10
- data/data/problems/171.yml +7 -9
- data/data/problems/172.yml +3 -2
- data/data/problems/173.yml +9 -7
- data/data/problems/174.yml +13 -15
- data/data/problems/175.yml +13 -15
- data/data/problems/176.yml +5 -5
- data/data/problems/177.yml +13 -12
- data/data/problems/178.yml +5 -5
- data/data/problems/179.yml +3 -6
- data/data/problems/18.yml +13 -17
- data/data/problems/180.yml +20 -25
- data/data/problems/181.yml +7 -3
- data/data/problems/182.yml +22 -27
- data/data/problems/183.yml +17 -23
- data/data/problems/184.yml +11 -14
- data/data/problems/185.yml +17 -18
- data/data/problems/186.yml +16 -24
- data/data/problems/187.yml +9 -12
- data/data/problems/188.yml +5 -6
- data/data/problems/189.yml +5 -7
- data/data/problems/19.yml +7 -8
- data/data/problems/190.yml +7 -9
- data/data/problems/191.yml +9 -10
- data/data/problems/192.yml +14 -22
- data/data/problems/193.yml +5 -3
- data/data/problems/194.yml +11 -14
- data/data/problems/195.yml +7 -9
- data/data/problems/196.yml +13 -21
- data/data/problems/197.yml +7 -11
- data/data/problems/198.yml +13 -16
- data/data/problems/199.yml +10 -10
- data/data/problems/2.yml +6 -6
- data/data/problems/20.yml +10 -18
- data/data/problems/200.yml +8 -8
- data/data/problems/201.yml +14 -16
- data/data/problems/202.yml +11 -10
- data/data/problems/203.yml +11 -16
- data/data/problems/204.yml +7 -7
- data/data/problems/205.yml +6 -6
- data/data/problems/206.yml +2 -2
- data/data/problems/207.yml +13 -16
- data/data/problems/208.yml +8 -8
- data/data/problems/209.yml +11 -23
- data/data/problems/21.yml +8 -9
- data/data/problems/210.yml +6 -6
- data/data/problems/211.yml +7 -7
- data/data/problems/212.yml +26 -36
- data/data/problems/213.yml +6 -7
- data/data/problems/214.yml +10 -11
- data/data/problems/215.yml +11 -14
- data/data/problems/216.yml +7 -10
- data/data/problems/217.yml +14 -23
- data/data/problems/218.yml +9 -10
- data/data/problems/219.yml +10 -15
- data/data/problems/22.yml +7 -9
- data/data/problems/220.yml +15 -20
- data/data/problems/221.yml +10 -16
- data/data/problems/222.yml +5 -3
- data/data/problems/223.yml +6 -8
- data/data/problems/224.yml +6 -8
- data/data/problems/225.yml +6 -7
- data/data/problems/226.yml +9 -12
- data/data/problems/227.yml +9 -9
- data/data/problems/228.yml +14 -17
- data/data/problems/229.yml +17 -25
- data/data/problems/23.yml +11 -15
- data/data/problems/230.yml +15 -19
- data/data/problems/231.yml +8 -12
- data/data/problems/232.yml +9 -10
- data/data/problems/233.yml +7 -6
- data/data/problems/234.yml +14 -19
- data/data/problems/235.yml +4 -5
- data/data/problems/236.yml +20 -22
- data/data/problems/237.yml +14 -9
- data/data/problems/238.yml +21 -33
- data/data/problems/239.yml +5 -5
- data/data/problems/24.yml +7 -6
- data/data/problems/240.yml +7 -7
- data/data/problems/241.yml +9 -12
- data/data/problems/242.yml +7 -9
- data/data/problems/243.yml +14 -15
- data/data/problems/244.yml +19 -28
- data/data/problems/245.yml +22 -30
- data/data/problems/246.yml +10 -13
- data/data/problems/247.yml +14 -17
- data/data/problems/248.yml +5 -2
- data/data/problems/249.yml +3 -3
- data/data/problems/25.yml +12 -11
- data/data/problems/250.yml +3 -3
- data/data/problems/251.yml +11 -9
- data/data/problems/252.yml +24 -25
- data/data/problems/253.yml +19 -32
- data/data/problems/254.yml +13 -17
- data/data/problems/255.yml +40 -50
- data/data/problems/256.yml +31 -39
- data/data/problems/257.yml +10 -14
- data/data/problems/258.yml +7 -9
- data/data/problems/259.yml +14 -12
- data/data/problems/26.yml +17 -7
- data/data/problems/260.yml +21 -25
- data/data/problems/261.yml +13 -15
- data/data/problems/262.yml +15 -16
- data/data/problems/263.yml +13 -15
- data/data/problems/264.yml +15 -16
- data/data/problems/265.yml +10 -12
- data/data/problems/266.yml +6 -6
- data/data/problems/267.yml +13 -10
- data/data/problems/268.yml +5 -4
- data/data/problems/269.yml +10 -11
- data/data/problems/27.yml +15 -21
- data/data/problems/270.yml +13 -13
- data/data/problems/271.yml +7 -9
- data/data/problems/272.yml +8 -11
- data/data/problems/273.yml +13 -17
- data/data/problems/274.yml +16 -19
- data/data/problems/275.yml +13 -15
- data/data/problems/276.yml +5 -7
- data/data/problems/277.yml +17 -20
- data/data/problems/278.yml +20 -28
- data/data/problems/279.yml +4 -3
- data/data/problems/28.yml +6 -13
- data/data/problems/280.yml +9 -9
- data/data/problems/281.yml +10 -13
- data/data/problems/282.yml +9 -6
- data/data/problems/283.yml +8 -8
- data/data/problems/284.yml +15 -18
- data/data/problems/285.yml +11 -11
- data/data/problems/286.yml +7 -8
- data/data/problems/287.yml +22 -32
- data/data/problems/288.yml +10 -11
- data/data/problems/289.yml +14 -15
- data/data/problems/29.yml +13 -20
- data/data/problems/290.yml +3 -4
- data/data/problems/291.yml +3 -6
- data/data/problems/292.yml +8 -9
- data/data/problems/293.yml +9 -10
- data/data/problems/294.yml +6 -6
- data/data/problems/295.yml +16 -21
- data/data/problems/296.yml +9 -11
- data/data/problems/297.yml +12 -15
- data/data/problems/298.yml +29 -29
- data/data/problems/299.yml +15 -21
- data/data/problems/3.yml +3 -3
- data/data/problems/30.yml +7 -8
- data/data/problems/300.yml +15 -16
- data/data/problems/301.yml +15 -17
- data/data/problems/302.yml +13 -14
- data/data/problems/303.yml +9 -7
- data/data/problems/304.yml +10 -15
- data/data/problems/305.yml +6 -10
- data/data/problems/306.yml +20 -24
- data/data/problems/307.yml +7 -8
- data/data/problems/308.yml +19 -30
- data/data/problems/309.yml +11 -12
- data/data/problems/31.yml +11 -14
- data/data/problems/310.yml +10 -15
- data/data/problems/311.yml +11 -17
- data/data/problems/312.yml +10 -11
- data/data/problems/313.yml +13 -13
- data/data/problems/314.yml +23 -25
- data/data/problems/315.yml +39 -45
- data/data/problems/316.yml +13 -13
- data/data/problems/317.yml +6 -7
- data/data/problems/318.yml +35 -57
- data/data/problems/319.yml +15 -19
- data/data/problems/32.yml +9 -10
- data/data/problems/320.yml +9 -8
- data/data/problems/321.yml +8 -9
- data/data/problems/322.yml +6 -8
- data/data/problems/323.yml +12 -15
- data/data/problems/324.yml +10 -13
- data/data/problems/325.yml +15 -21
- data/data/problems/326.yml +15 -8
- data/data/problems/327.yml +19 -23
- data/data/problems/328.yml +28 -31
- data/data/problems/329.yml +12 -13
- data/data/problems/33.yml +9 -9
- data/data/problems/330.yml +17 -36
- data/data/problems/331.yml +16 -22
- data/data/problems/332.yml +9 -11
- data/data/problems/333.yml +17 -20
- data/data/problems/334.yml +22 -34
- data/data/problems/335.yml +11 -12
- data/data/problems/336.yml +18 -20
- data/data/problems/337.yml +9 -11
- data/data/problems/338.yml +27 -37
- data/data/problems/339.yml +9 -9
- data/data/problems/34.yml +7 -3
- data/data/problems/340.yml +8 -10
- data/data/problems/341.yml +12 -14
- data/data/problems/342.yml +9 -13
- data/data/problems/343.yml +18 -25
- data/data/problems/344.yml +16 -17
- data/data/problems/345.yml +17 -22
- data/data/problems/346.yml +7 -7
- data/data/problems/347.yml +9 -12
- data/data/problems/348.yml +7 -8
- data/data/problems/349.yml +8 -9
- data/data/problems/35.yml +7 -4
- data/data/problems/350.yml +12 -14
- data/data/problems/351.yml +8 -9
- data/data/problems/352.yml +38 -42
- data/data/problems/353.yml +17 -21
- data/data/problems/354.yml +11 -13
- data/data/problems/355.yml +4 -4
- data/data/problems/356.yml +6 -6
- data/data/problems/357.yml +5 -5
- data/data/problems/358.yml +16 -25
- data/data/problems/359.yml +19 -22
- data/data/problems/36.yml +7 -4
- data/data/problems/360.yml +8 -8
- data/data/problems/361.yml +14 -15
- data/data/problems/362.yml +16 -28
- data/data/problems/363.yml +22 -23
- data/data/problems/364.yml +9 -11
- data/data/problems/365.yml +7 -13
- data/data/problems/366.yml +19 -22
- data/data/problems/367.yml +14 -15
- data/data/problems/368.yml +18 -35
- data/data/problems/369.yml +7 -11
- data/data/problems/37.yml +7 -6
- data/data/problems/370.yml +10 -13
- data/data/problems/371.yml +8 -9
- data/data/problems/372.yml +9 -12
- data/data/problems/373.yml +5 -6
- data/data/problems/374.yml +17 -21
- data/data/problems/375.yml +13 -17
- data/data/problems/376.yml +19 -21
- data/data/problems/377.yml +6 -7
- data/data/problems/378.yml +8 -11
- data/data/problems/379.yml +9 -11
- data/data/problems/38.yml +9 -13
- data/data/problems/380.yml +14 -17
- data/data/problems/381.yml +12 -18
- data/data/problems/382.yml +16 -19
- data/data/problems/383.yml +7 -9
- data/data/problems/384.yml +20 -24
- data/data/problems/385.yml +12 -16
- data/data/problems/386.yml +9 -11
- data/data/problems/387.yml +14 -15
- data/data/problems/388.yml +6 -8
- data/data/problems/389.yml +8 -8
- data/data/problems/39.yml +7 -6
- data/data/problems/390.yml +9 -14
- data/data/problems/391.yml +21 -25
- data/data/problems/392.yml +16 -17
- data/data/problems/393.yml +5 -6
- data/data/problems/394.yml +15 -18
- data/data/problems/395.yml +12 -13
- data/data/problems/396.yml +17 -22
- data/data/problems/397.yml +13 -16
- data/data/problems/398.yml +8 -9
- data/data/problems/399.yml +18 -18
- data/data/problems/4.yml +5 -4
- data/data/problems/40.yml +11 -14
- data/data/problems/400.yml +10 -11
- data/data/problems/401.yml +6 -7
- data/data/problems/402.yml +16 -21
- data/data/problems/403.yml +12 -14
- data/data/problems/404.yml +14 -16
- data/data/problems/405.yml +10 -11
- data/data/problems/406.yml +35 -41
- data/data/problems/407.yml +9 -16
- data/data/problems/408.yml +9 -9
- data/data/problems/409.yml +5 -7
- data/data/problems/41.yml +5 -4
- data/data/problems/410.yml +10 -13
- data/data/problems/411.yml +15 -19
- data/data/problems/412.yml +11 -15
- data/data/problems/413.yml +8 -8
- data/data/problems/414.yml +29 -34
- data/data/problems/415.yml +12 -15
- data/data/problems/416.yml +7 -7
- data/data/problems/417.yml +16 -17
- data/data/problems/418.yml +9 -12
- data/data/problems/419.yml +13 -18
- data/data/problems/42.yml +9 -10
- data/data/problems/420.yml +5 -6
- data/data/problems/421.yml +14 -25
- data/data/problems/422.yml +16 -18
- data/data/problems/423.yml +16 -18
- data/data/problems/424.yml +18 -19
- data/data/problems/425.yml +11 -12
- data/data/problems/426.yml +20 -21
- data/data/problems/427.yml +11 -13
- data/data/problems/428.yml +21 -25
- data/data/problems/429.yml +6 -6
- data/data/problems/43.yml +15 -13
- data/data/problems/430.yml +14 -16
- data/data/problems/44.yml +9 -12
- data/data/problems/45.yml +11 -11
- data/data/problems/46.yml +9 -14
- data/data/problems/47.yml +11 -16
- data/data/problems/48.yml +5 -3
- data/data/problems/49.yml +7 -6
- data/data/problems/5.yml +5 -4
- data/data/problems/50.yml +11 -6
- data/data/problems/51.yml +9 -11
- data/data/problems/52.yml +5 -4
- data/data/problems/53.yml +15 -24
- data/data/problems/54.yml +29 -39
- data/data/problems/55.yml +16 -17
- data/data/problems/56.yml +5 -7
- data/data/problems/57.yml +10 -11
- data/data/problems/58.yml +11 -18
- data/data/problems/59.yml +11 -19
- data/data/problems/6.yml +13 -9
- data/data/problems/60.yml +5 -6
- data/data/problems/61.yml +18 -26
- data/data/problems/62.yml +5 -5
- data/data/problems/63.yml +5 -3
- data/data/problems/64.yml +52 -126
- data/data/problems/65.yml +21 -47
- data/data/problems/66.yml +13 -23
- data/data/problems/67.yml +10 -13
- data/data/problems/68.yml +15 -19
- data/data/problems/69.yml +18 -10
- data/data/problems/7.yml +5 -2
- data/data/problems/70.yml +10 -12
- data/data/problems/71.yml +11 -13
- data/data/problems/72.yml +11 -12
- data/data/problems/73.yml +11 -12
- data/data/problems/74.yml +25 -37
- data/data/problems/75.yml +10 -12
- data/data/problems/76.yml +4 -4
- data/data/problems/77.yml +4 -4
- data/data/problems/78.yml +13 -8
- data/data/problems/79.yml +7 -7
- data/data/problems/8.yml +14 -8
- data/data/problems/80.yml +7 -7
- data/data/problems/81.yml +9 -15
- data/data/problems/82.yml +10 -15
- data/data/problems/83.yml +10 -19
- data/data/problems/84.yml +36 -59
- data/data/problems/85.yml +7 -5
- data/data/problems/86.yml +11 -11
- data/data/problems/87.yml +7 -8
- data/data/problems/88.yml +30 -49
- data/data/problems/89.yml +13 -14
- data/data/problems/9.yml +6 -9
- data/data/problems/90.yml +16 -18
- data/data/problems/91.yml +10 -15
- data/data/problems/92.yml +14 -25
- data/data/problems/93.yml +13 -17
- data/data/problems/94.yml +7 -7
- data/data/problems/95.yml +13 -19
- data/data/problems/96.yml +24 -40
- data/data/problems/97.yml +7 -10
- data/data/problems/98.yml +9 -12
- data/data/problems/99.yml +9 -12
- data/euler-manager.gemspec +1 -0
- data/example/1/README.md +4 -4
- data/example/15/README.md +8 -0
- data/example/15/python/15.py +5 -0
- data/example/15/python/euler.py +0 -0
- data/example/2/README.md +7 -5
- data/example/Eulerfile.rb +1 -0
- data/lib/euler/problem.rb +6 -1
- data/lib/euler/solution.rb +4 -2
- data/lib/euler/version.rb +1 -1
- data/rake/clean.rake +16 -0
- data/rake/update.rake +88 -0
- data/spec/euler/solution_spec.rb +2 -1
- data/templates/Eulerfile.rb +12 -0
- metadata +189 -29
- data/data/problems/431.yml +0 -33
- data/data/problems/432.yml +0 -13
- data/data/problems/433.yml +0 -18
- data/data/problems/434.yml +0 -32
- data/data/problems/435.yml +0 -21
- data/data/problems/436.yml +0 -21
- data/data/problems/437.yml +0 -22
- data/data/problems/438.yml +0 -29
- data/data/problems/439.yml +0 -17
- data/data/problems/440.yml +0 -21
- data/data/problems/441.yml +0 -23
- data/data/problems/442.yml +0 -9
- data/data/problems/443.yml +0 -13
- data/data/problems/444.yml +0 -28
- data/data/problems/445.yml +0 -37
- data/data/problems/446.yml +0 -29
- data/data/problems/447.yml +0 -31
- data/data/problems/448.yml +0 -14
- data/data/problems/449.yml +0 -17
- data/data/problems/450.yml +0 -26
- data/data/problems/451.yml +0 -15
- data/data/problems/452.yml +0 -8
- data/data/problems/453.yml +0 -16
- data/data/problems/454.yml +0 -17
- data/data/problems/455.yml +0 -16
- data/data/problems/456.yml +0 -15
- data/scripts/update_problems +0 -68
data/data/problems/395.yml
CHANGED
@@ -2,18 +2,17 @@
|
|
2
2
|
:id: 395
|
3
3
|
:name: Pythagorean tree
|
4
4
|
:url: http://projecteuler.net/problem=395
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
the
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
align=\"center\"><img src=\"project/images/p_395_pythagorean.gif\"></div>\r\n\r\n<p>\r\nIt
|
5
|
+
:content: "The **Pythagorean tree** is a fractal generated by the following procedure:\n\nStart
|
6
|
+
with a unit square. Then, calling one of the sides its base (in the animation, the
|
7
|
+
bottom side is the base):\n\n1. Attach a right triangle to the side opposite the
|
8
|
+
base, with the hypotenuse coinciding with that side and with the sides in a 3-4-5
|
9
|
+
ratio. Note that the smaller side of the triangle must be on the 'right' side with
|
10
|
+
respect to the base (see animation).\n2. Attach a square to each leg of the right
|
11
|
+
triangle, with one of its sides coinciding with that leg.\n3. Repeat this procedure
|
12
|
+
for both squares, considering as their bases the sides touching the triangle.\n\rThe
|
13
|
+
resulting figure, after an infinite number of iterations, is the Pythagorean tree.\r\r\r\n
|
14
|
+
![](/home/will/src/euler-manager/config/../data/images/p_395_pythagorean.gif)\n\nIt
|
16
15
|
can be shown that there exists at least one rectangle, whose sides are parallel
|
17
16
|
to the largest square of the Pythagorean tree, which encloses the Pythagorean tree
|
18
|
-
completely.\
|
19
|
-
|
17
|
+
completely.\n\nFind the smallest area possible for such a bounding rectangle, and
|
18
|
+
give your answer rounded to 10 decimal places.\n\n"
|
data/data/problems/396.yml
CHANGED
@@ -2,27 +2,22 @@
|
|
2
2
|
:id: 396
|
3
3
|
:name: Weak Goodstein sequence
|
4
4
|
:url: http://projecteuler.net/problem=396
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
width=\"10\" height=\"10\" alt=\">\" border=\"0\" style=\"vertical-align:middle;\">
|
5
|
+
:content: "For any positive integer n, the **nth weak Goodstein sequence** {g<sub>1</sub>,
|
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> ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)
|
9
8
|
1, g<sub><var>k</var></sub> is obtained by writing g<sub><var>k</var>-1</sub> in
|
10
9
|
base <var>k</var>, interpreting it as a base <var>k</var> + 1 number, and subtracting
|
11
|
-
1.\r\n
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
=
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<
|
24
|
-
|
25
|
-
ΣG(<var>n</var>) for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
|
26
|
-
alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_lt.gif\"
|
27
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">
|
28
|
-
16.\r\n</p>\r\n"
|
10
|
+
1.\r\n\rThe sequence terminates when g<sub><var>k</var></sub> becomes 0.\r\r\n\nFor
|
11
|
+
example, the 6th weak Goodstein sequence is {6, 11, 17, 25, ...}:\n\n- g<sub>1</sub>
|
12
|
+
= 6.\r\n- g<sub>2</sub> = 11 since 6 = 110<sub>2</sub>, 110<sub>3</sub> = 12, and
|
13
|
+
12 - 1 = 11.\r\n- g<sub>3</sub> = 17 since 11 = 102<sub>3</sub>, 102<sub>4</sub>
|
14
|
+
= 18, and 18 - 1 = 17.\r\n- g<sub>4</sub> = 25 since 17 = 101<sub>4</sub>, 101<sub>5</sub>
|
15
|
+
= 26, and 26 - 1 = 25.\r\n\rand so on.\r\r\n\nIt can be shown that every weak Goodstein
|
16
|
+
sequence terminates.\n\nLet G(<var>n</var>) be the number of nonzero elements in
|
17
|
+
the <var>n</var>th weak Goodstein sequence. \n\rIt can be verified that G(2) =
|
18
|
+
3, G(4) = 21 and G(6) = 381. \n\rIt can also be verified that ΣG(<var>n</var>)
|
19
|
+
= 2517 for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
20
|
+
<var>n</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
21
|
+
8.\n\nFind the last 9 digits of ΣG(<var>n</var>) for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
22
|
+
<var>n</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
23
|
+
16.\n\n"
|
data/data/problems/397.yml
CHANGED
@@ -2,19 +2,16 @@
|
|
2
2
|
:id: 397
|
3
3
|
:name: Triangle on parabola
|
4
4
|
:url: http://projecteuler.net/problem=397
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
<
|
13
|
-
|
14
|
-
|
15
|
-
<
|
16
|
-
|
17
|
-
|
18
|
-
<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
19
|
-
style=\"vertical-align:middle;\"><var>X</var>.\r\n</p>\r\n<p>\r\nFor example, F(1,
|
20
|
-
10) = 41 and F(10, 100) = 12492.<br>\r\nFind F(10<sup>6</sup>, 10<sup>9</sup>).\r\n</p>\r\n"
|
5
|
+
:content: "On the parabola <var>y</var> = <var>x</var><sup>2</sup>/<var>k</var>, three
|
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
|
+
and C(<var>c</var>, <var>c</var><sup>2</sup>/<var>k</var>) are chosen.\n\nLet F(<var>K</var>,
|
8
|
+
<var>X</var>) be the number of the integer quadruplets (<var>k</var>, <var>a</var>,
|
9
|
+
<var>b</var>, <var>c</var>) such that at least one angle of the triangle ABC is
|
10
|
+
45-degree, with 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
11
|
+
<var>k</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
12
|
+
<var>K</var> and -<var>X</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
13
|
+
<var>a</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
14
|
+
<var>b</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
15
|
+
<var>c</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
16
|
+
<var>X</var>.\n\nFor example, F(1, 10) = 41 and F(10, 100) = 12492. \n\rFind F(10<sup>6</sup>,
|
17
|
+
10<sup>9</sup>).\n\n"
|
data/data/problems/398.yml
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
:id: 398
|
3
3
|
:name: Cutting rope
|
4
4
|
:url: http://projecteuler.net/problem=398
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
the
|
12
|
-
|
13
|
-
to 5 decimal places behind the decimal point.\r\n</p>\r\n"
|
5
|
+
:content: "Inside a rope of length <var>n</var>, <var>n</var>-1 points are placed
|
6
|
+
with distance 1 from each other and from the endpoints. Among these points, we choose
|
7
|
+
<var>m</var>-1 points at random and cut the rope at these points to create <var>m</var>
|
8
|
+
segments.\n\nLet E(<var>n</var>, <var>m</var>) be the expected length of the second-shortest
|
9
|
+
segment.\rFor example, E(3, 2) = 2 and E(8, 3) = 16/7.\rNote that if multiple segments
|
10
|
+
have the same shortest length the length of the second-shortest segment is defined
|
11
|
+
as the same as the shortest length.\n\nFind E(10<sup>7</sup>, 100).\rGive your answer
|
12
|
+
rounded to 5 decimal places behind the decimal point.\n\n"
|
data/data/problems/399.yml
CHANGED
@@ -2,21 +2,21 @@
|
|
2
2
|
:id: 399
|
3
3
|
:name: Squarefree Fibonacci Numbers
|
4
4
|
:url: http://projecteuler.net/problem=399
|
5
|
-
:content: "
|
6
|
-
can be seen that 8 and 144 are not squarefree: 8 is divisible by 4 and
|
7
|
-
by 4 and by 9
|
8
|
-
and 610.\
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
the
|
14
|
-
been: 1608739584170445,9.7e53\
|
15
|
-
\r\nFor this problem, assume that for every prime p, the
|
16
|
-
divisible by p is not divisible by p<sup>2</sup> (this is
|
17
|
-
This has been verified for primes <img src=\"
|
18
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
19
|
-
but has not been proven in general.<br>\r\n\r\nIf it happens
|
20
|
-
is false, then the accepted answer to this problem isn't guaranteed
|
21
|
-
000 000th squarefree fibonacci number, rather it represents only a
|
22
|
-
that number.\r\n</font>\
|
5
|
+
:content: "The first 15 fibonacci numbers are: \n\r1,1,2,3,5,8,13,21,34,55,89,144,233,377,610.
|
6
|
+
\ \n\rIt can be seen that 8 and 144 are not squarefree: 8 is divisible by 4 and
|
7
|
+
144 is divisible by 4 and by 9. \n \rSo the first 13 squarefree fibonacci numbers
|
8
|
+
are: \n\r1,1,2,3,5,13,21,34,55,89,233,377 and 610.\n\nThe 200th squarefree fibonacci
|
9
|
+
number is:\r971183874599339129547649988289594072811608739584170445. \n\rThe last
|
10
|
+
sixteen digits of this number are: 1608739584170445 and in scientific notation this
|
11
|
+
number can be written as 9.7e53.\n\nFind the 100 000 000th squarefree fibonacci
|
12
|
+
number. \n\rGive as your answer its last sixteen digits followed by a comma followed
|
13
|
+
by the number in scientific notation (rounded to one digit after the decimal point).
|
14
|
+
\ \n\rFor the 200th squarefree number the answer would have been: 1608739584170445,9.7e53\n\n<font
|
15
|
+
size=\"-1\">\r\nNote:<br> \r\nFor this problem, assume that for every prime p, the
|
16
|
+
first fibonacci number divisible by p is not divisible by p<sup>2</sup> (this is
|
17
|
+
part of <b>Wall's conjecture</b>). This has been verified for primes <img src=\"%7B%7B%20images_dir%20%7D%7D/symbol_le.gif\"
|
18
|
+
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
19
|
+
3·10<sup>15</sup>, but has not been proven in general.<br>\r\n\r\n\r\nIf it happens
|
20
|
+
that the conjecture is false, then the accepted answer to this problem isn't guaranteed
|
21
|
+
to be the 100 000 000th squarefree fibonacci number, rather it represents only a
|
22
|
+
lower bound for that number.\r\n</font>\n\n"
|
data/data/problems/4.yml
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
:id: 4
|
3
3
|
:name: Largest palindrome product
|
4
4
|
:url: http://projecteuler.net/problem=4
|
5
|
-
:content:
|
6
|
-
made from the product of two 2-digit numbers is 9009 = 91
|
7
|
-
|
8
|
-
|
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 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 99.
|
7
|
+
|
8
|
+
Find the largest palindrome made from the product of two 3-digit numbers.
|
9
|
+
|
data/data/problems/40.yml
CHANGED
@@ -2,17 +2,14 @@
|
|
2
2
|
:id: 40
|
3
3
|
:name: Champernowne's constant
|
4
4
|
:url: http://projecteuler.net/problem=40
|
5
|
-
:content:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
|
17
|
-
style=\"vertical-align:middle;\"><i>d</i><sub>100000</sub><img src=\"images/symbol_times.gif\"
|
18
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"><i>d</i><sub>1000000</sub></p>\r\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
An irrational decimal fraction is created by concatenating the positive integers:
|
7
|
+
|
8
|
+
0.123456789101112131415161718192021...
|
9
|
+
|
10
|
+
It can be seen that the 12<sup>th</sup> digit of the fractional part is 1.
|
11
|
+
|
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
|
+
|
14
|
+
_d_<sub>1</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>10</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>100</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>1000</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>10000</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>100000</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _d_<sub>1000000</sub>
|
15
|
+
|
data/data/problems/400.yml
CHANGED
@@ -2,17 +2,16 @@
|
|
2
2
|
:id: 400
|
3
3
|
:name: Fibonacci tree game
|
4
4
|
:url: http://projecteuler.net/problem=400
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
T(<var>k</var>-1) and T(<var>k</var>-2) as children.\r\n</li>\n</ul>\n<p>\r\nOn
|
5
|
+
:content: "A **Fibonacci tree** is a binary tree recursively defined as:\n\n- T(0)
|
6
|
+
is the empty tree.\r\n- T(1) is the binary tree with only one node.\r\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.\r\n\nOn
|
9
8
|
such a tree two players play a take-away game. On each turn a player selects a node
|
10
|
-
and removes that node along with the subtree rooted at that node
|
11
|
-
who is forced to take the root node of the entire tree loses
|
12
|
-
|
13
|
-
|
9
|
+
and removes that node along with the subtree rooted at that node. \n\rThe player
|
10
|
+
who is forced to take the root node of the entire tree loses.\n\nHere are the winning
|
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![](/home/will/src/euler-manager/config/../data/images/p400_winning.png)\n\n\r\r\r\rLet
|
14
13
|
<var>f</var>(<var>k</var>) be the number of winning moves of the first player (i.e.
|
15
14
|
the moves for which the second player has no winning strategy) on the first turn
|
16
|
-
of the game when this game is played on T(<var>k</var>).\r\
|
17
|
-
|
18
|
-
|
15
|
+
of the game when this game is played on T(<var>k</var>).\r\r\r\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
@@ -2,10 +2,9 @@
|
|
2
2
|
:id: 401
|
3
3
|
:name: Sum of squares of divisors
|
4
4
|
:url: http://projecteuler.net/problem=401
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
SIGMA2(10<sup>15</sup>) modulo 10<sup>9</sup>. \r\n</p>\r\n"
|
5
|
+
:content: "The divisors of 6 are 1,2,3 and 6. \n\rThe sum of the squares of these
|
6
|
+
numbers is 1+4+9+36=50.\n\nLet sigma2(n) represent the sum of the squares of the
|
7
|
+
divisors of n.\rThus sigma2(6)=50.\n\n\rLet SIGMA2 represent the summatory function
|
8
|
+
of sigma2, that is SIGMA2(n)= ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)sigma2(i)
|
9
|
+
for i=1 to n. \n\rThe first 6 values of SIGMA2 are: 1,6,16,37,63 and 113.\r\r\n\nFind
|
10
|
+
SIGMA2(10<sup>15</sup>) modulo 10<sup>9</sup>.\n\n"
|
data/data/problems/402.yml
CHANGED
@@ -2,24 +2,19 @@
|
|
2
2
|
:id: 402
|
3
3
|
:name: Integer-valued polynomials
|
4
4
|
:url: http://projecteuler.net/problem=402
|
5
|
-
:content: "
|
6
|
-
+
|
7
|
-
|
8
|
-
|
9
|
-
<var>
|
10
|
-
+ <var>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
2.\r\n</p>\r\n<p>\r\nFind the last 9 digits of Σ S(F<sub><var>k</var></sub>) for
|
22
|
-
2 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
23
|
-
style=\"vertical-align:middle;\"><var>k</var> <img src=\"images/symbol_le.gif\"
|
24
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
25
|
-
1234567890123.\r\n</p>\r\n"
|
5
|
+
:content: "It can be shown that the polynomial <var>n</var><sup>4</sup> + 4<var>n</var><sup>3</sup>
|
6
|
+
+ 2<var>n</var><sup>2</sup> + 5<var>n</var> is a multiple of 6 for every integer
|
7
|
+
<var>n</var>. It can also be shown that 6 is the largest integer satisfying this
|
8
|
+
property.\n\nDefine M(<var>a</var>, <var>b</var>, <var>c</var>) as the maximum <var>m</var>
|
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
|
+
+ <var>c</var><var>n</var> is a multiple of <var>m</var> for all integers <var>n</var>.
|
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 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
13
|
+
<var>a</var>, <var>b</var>, <var>c</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
14
|
+
<var>N</var>.\n\nWe can verify that S(10) = 1972 and S(10000) = 2024258331114.\n\nLet
|
15
|
+
F<sub><var>k</var></sub> be the Fibonacci sequence: \n\rF<sub>0</sub> = 0, F<sub>1</sub>
|
16
|
+
= 1 and \n\rF<sub><var>k</var></sub> = F<sub><var>k</var>-1</sub> + F<sub><var>k</var>-2</sub>
|
17
|
+
for <var>k</var> ![≥](/home/will/src/euler-manager/config/../data/images/symbol_ge.gif)
|
18
|
+
2.\n\nFind the last 9 digits of Σ S(F<sub><var>k</var></sub>) for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
19
|
+
<var>k</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
20
|
+
1234567890123.\n\n"
|
data/data/problems/403.yml
CHANGED
@@ -2,18 +2,16 @@
|
|
2
2
|
:id: 403
|
3
3
|
:name: Lattice points enclosed by parabola and line
|
4
4
|
:url: http://projecteuler.net/problem=403
|
5
|
-
:content: "
|
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
|
-
and the line <var>y</var> = <var>a</var>·<var>x</var> + <var>b</var
|
8
|
-
<var>b</var>) = { (<var>x</var>, <var>y</var>) | <var>x</var><sup>2</sup
|
9
|
-
|
10
|
-
<
|
11
|
-
|
12
|
-
<var>b</var>)
|
13
|
-
<var>
|
14
|
-
|
15
|
-
|
16
|
-
<var>
|
17
|
-
|
18
|
-
can verify that S(5) = 344 and S(100) = 26709528.\r\n</p>\r\n<p>\r\nFind S(10<sup>12</sup>).
|
19
|
-
Give your answer mod 10<sup>8</sup>.\r\n</p>\r\n"
|
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> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
9
|
+
<var>y</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
10
|
+
<var>a</var>·<var>x</var> + <var>b</var> }.\n\nL(<var>a</var>, <var>b</var>) is
|
11
|
+
defined as the number of lattice points contained in <var>D</var>(<var>a</var>,
|
12
|
+
<var>b</var>). \n\rFor example, L(1, 2) = 8 and L(2, -1) = 1.\n\nWe also define
|
13
|
+
S(<var>N</var>) as the sum of L(<var>a</var>, <var>b</var>) for all the pairs (<var>a</var>,
|
14
|
+
<var>b</var>) such that the area of <var>D</var>(<var>a</var>, <var>b</var>) is
|
15
|
+
a rational number and |<var>a</var>|,|<var>b</var>| ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
16
|
+
<var>N</var>. \n\rWe can verify that S(5) = 344 and S(100) = 26709528.\n\nFind
|
17
|
+
S(10<sup>12</sup>). Give your answer mod 10<sup>8</sup>.\n\n"
|
data/data/problems/404.yml
CHANGED
@@ -2,20 +2,18 @@
|
|
2
2
|
:id: 404
|
3
3
|
:name: Crisscross Ellipses
|
4
4
|
:url: http://projecteuler.net/problem=404
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
the origin O(0, 0) for 0° <
|
9
|
-
|
10
|
-
|
11
|
-
90°.\r\n</p>\r\n\r\n<div align=\"center\">\r\n<img src=\"project/images/p_404_c_ellipse.gif\">\n</div>\r\n\r\n<p>\r\n<var>b</var>
|
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>. \n\rE<sub><var>a</var></sub>' is
|
7
|
+
the rotated image of E<sub><var>a</var></sub> by θ degrees counterclockwise around
|
8
|
+
the origin O(0, 0) for 0° ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
9
|
+
θ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 90°.\n\n
|
10
|
+
![](/home/will/src/euler-manager/config/../data/images/p_404_c_ellipse.gif)\n\n<var>b</var>
|
12
11
|
is the distance to the origin of the two intersection points closest to the origin
|
13
|
-
and <var>c</var> is the distance of the two other intersection points
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<var>
|
19
|
-
|
20
|
-
|
21
|
-
= 11845.\r\n</p>\r\n\r\n<p>\r\nFind C(10<sup>17</sup>).\r\n</p>\r\n"
|
12
|
+
and <var>c</var> is the distance of the two other intersection points. \n\rWe call
|
13
|
+
an ordered triplet (<var>a</var>, <var>b</var>, <var>c</var>) a _canonical ellipsoidal
|
14
|
+
triplet_ if <var>a</var>, <var>b</var> and <var>c</var> are positive integers. \n\rFor
|
15
|
+
example, (209, 247, 286) is a canonical ellipsoidal triplet.\n\nLet C(<var>N</var>)
|
16
|
+
be the number of distinct canonical ellipsoidal triplets (<var>a</var>, <var>b</var>,
|
17
|
+
<var>c</var>) for <var>a</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
18
|
+
<var>N</var>. \n\rIt can be verified that C(10<sup>3</sup>) = 7, C(10<sup>4</sup>)
|
19
|
+
= 106 and C(10<sup>6</sup>) = 11845.\n\nFind C(10<sup>17</sup>).\n\n"
|
data/data/problems/405.yml
CHANGED
@@ -2,14 +2,13 @@
|
|
2
2
|
:id: 405
|
3
3
|
:name: A rectangular tiling
|
4
4
|
:url: http://projecteuler.net/problem=405
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
<var>f</var>(<var>
|
13
|
-
|
14
|
-
|
15
|
-
for <var>k</var> = 10<sup>18</sup>, give your answer modulo 17<sup>7</sup>.\r\n</p>\r\n"
|
5
|
+
:content: "We wish to tile a rectangle whose length is twice its width. \n\rLet <var>T</var>(0)
|
6
|
+
be the tiling consisting of a single rectangle. \n\rFor <var>n</var> > 0, let <var>T</var>(<var>n</var>)
|
7
|
+
be obtained from <var>T</var>(<var>n</var>-1) by replacing all tiles in the following
|
8
|
+
manner:\n\n ![](/home/will/src/euler-manager/config/../data/images/p_405_tile1.png)\n\nThe
|
9
|
+
following animation demonstrates the tilings <var>T</var>(<var>n</var>) for <var>n</var>
|
10
|
+
from 0 to 5:\n\n ![](/home/will/src/euler-manager/config/../data/images/p_405_tile2.gif)\n\nLet
|
11
|
+
<var>f</var>(<var>n</var>) be the number of points where four tiles meet in <var>T</var>(<var>n</var>).
|
12
|
+
\ \n\rFor 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
@@ -2,45 +2,39 @@
|
|
2
2
|
:id: 406
|
3
3
|
:name: Guessing Game
|
4
4
|
:url: http://projecteuler.net/problem=406
|
5
|
-
:content: "
|
6
|
-
{1, 2, ..., <var>n</var>} by asking questions. \
|
7
|
-
we get one of three possible answers
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
\
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
is the hidden number (for a
|
21
|
-
we are
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
have just described an optimal strategy for the given values of <var>n</var>, <var>a</var>,
|
27
|
-
and <var>b</var>.</p>\r\n\r\n<p>Let C(<var>n</var>, <var>a</var>, <var>b</var>)
|
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. \rEach number (question) we ask,
|
7
|
+
we get one of three possible answers:\n\n- \"Your guess is lower than the hidden
|
8
|
+
number\" (and you incur a cost of <var>a</var>), or\n- \"Your guess is higher than
|
9
|
+
the hidden number\" (and you incur a cost of <var>b</var>), or\n- \"Yes, that's
|
10
|
+
it!\" (and the game ends).\n\nGiven the value of <var>n</var>, <var>a</var>, and
|
11
|
+
<var>b</var>, an _optimal strategy_ minimizes the total cost <u>for the worst possible
|
12
|
+
case</u>.\n\nFor example, if <var>n</var> = 5, <var>a</var> = 2, and <var>b</var>
|
13
|
+
= 3, then we may begin by asking \" **2** \" as our first question.\n\nIf we are
|
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
|
18
|
+
than the hidden number (for a cost of <var>b</var>=3), then we are sure that \"
|
19
|
+
**3** \" is the hidden number (for a total cost of 2+3= **5** ). \n\rIf we are
|
20
|
+
told that 4 is lower than the hidden number (for a cost of <var>a</var>=2), then
|
21
|
+
we are sure that \" **5** \" is the hidden number (for a total cost of 2+2= **4**
|
22
|
+
). \n\rThus, the worst-case cost achieved by this strategy is **5** . It can also
|
23
|
+
be shown that this is the lowest worst-case cost that can be achieved. \rSo, in
|
24
|
+
fact, we have just described an optimal strategy for the given values of <var>n</var>,
|
25
|
+
<var>a</var>, and <var>b</var>.\n\nLet C(<var>n</var>, <var>a</var>, <var>b</var>)
|
28
26
|
be the worst-case cost achieved by an optimal strategy for the given values of <var>n</var>,
|
29
|
-
<var>a</var>, and <var>b</var
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
<
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
<img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
|
44
|
-
style=\"vertical-align:middle;\"><var>k</var>, <img src=\"images/symbol_radic.gif\"
|
45
|
-
width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">F<sub><var>k</var></sub>),
|
46
|
-
and give your answer rounded to 8 decimal places behind the decimal point.</p>\r\n"
|
27
|
+
<var>a</var>, and <var>b</var>.\n\nHere are a few examples: \n\rC(5, 2, 3) = 5
|
28
|
+
\ \n\rC(500, ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2,
|
29
|
+
![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3) = 13.22073197...
|
30
|
+
\ \n\rC(20000, 5, 7) = 82 \n\rC(2000000, ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)5,
|
31
|
+
![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)7) = 49.63755955...\n\nLet
|
32
|
+
F<sub><var>k</var></sub> be the Fibonacci numbers: F<sub><var>k</var></sub> = F<sub><var>k</var>-1</sub>
|
33
|
+
+ F<sub><var>k</var>-2</sub> with base cases F<sub>1</sub> = F<sub>2</sub> = 1.
|
34
|
+
\ \nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)<sub>1<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;\"><var>k</var><img src=\"%7B%7B%20images_dir%20%7D%7D/symbol_le.gif\"
|
37
|
+
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">30</sub> C(10<sup>12</sup>,
|
38
|
+
![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)<var>k</var>,
|
39
|
+
![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)F<sub><var>k</var></sub>),
|
40
|
+
and give your answer rounded to 8 decimal places behind the decimal point.\n\n"
|