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/88.yml
CHANGED
@@ -2,52 +2,33 @@
|
|
2
2
|
:id: 88
|
3
3
|
:name: Product-sum numbers
|
4
4
|
:url: http://projecteuler.net/problem=88
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
src
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
4 = 2
|
21
|
-
|
22
|
-
|
23
|
-
2
|
24
|
-
|
25
|
-
|
26
|
-
1
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
+ 2 + 2 + 2<br><i>k</i>=6: 12 = 1 <img src=\"images/symbol_times.gif\" width=\"9\"
|
36
|
-
height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"> 1 <img src=\"images/symbol_times.gif\"
|
37
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">
|
38
|
-
1 <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
|
39
|
-
style=\"vertical-align:middle;\"> 1 <img src=\"images/symbol_times.gif\" width=\"9\"
|
40
|
-
height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"> 2 <img src=\"images/symbol_times.gif\"
|
41
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">
|
42
|
-
6 = 1 + 1 + 1 + 1 + 2 + 6</p>\n<p>Hence for 2<img src=\"images/symbol_le.gif\" width=\"10\"
|
43
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>k</i><img
|
44
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">6,
|
45
|
-
the sum of all the minimal product-sum numbers is 4+6+8+12 = 30; note that 8 is
|
46
|
-
only counted once in the sum.</p>\n<p>In fact, as the complete set of minimal product-sum
|
47
|
-
numbers for 2<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
|
48
|
-
border=\"0\" style=\"vertical-align:middle;\"><i>k</i><img src=\"images/symbol_le.gif\"
|
49
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">12
|
50
|
-
is {4, 6, 8, 12, 15, 16}, the sum is 61.</p>\n<p>What is the sum of all the minimal
|
51
|
-
product-sum numbers for 2<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
|
52
|
-
alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>k</i><img src=\"images/symbol_le.gif\"
|
53
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">12000?</p>\n\r\n"
|
5
|
+
:content: "A natural number, N, that can be written as the sum and product of a given
|
6
|
+
set of at least two natural numbers, {_a_<sub>1</sub>, _a_<sub>2</sub>, ... , _a_<sub><i>k</i></sub>}
|
7
|
+
is called a product-sum number: N = _a_<sub>1</sub> + _a_<sub>2</sub> + ... + _a_<sub><i>k</i></sub>
|
8
|
+
= _a_<sub>1</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
9
|
+
_a_<sub>2</sub> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
10
|
+
... ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) _a_<sub><i>k</i></sub>.\n\nFor
|
11
|
+
example, 6 = 1 + 2 + 3 = 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
12
|
+
2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 3.\n\nFor
|
13
|
+
a given set of size, _k_, we shall call the smallest N with this property a minimal
|
14
|
+
product-sum number. The minimal product-sum numbers for sets of size, _k_ = 2, 3,
|
15
|
+
4, 5, and 6 are as follows.\n\n_k_=2: 4 = 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
16
|
+
2 = 2 + 2 \n_k_=3: 6 = 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
17
|
+
2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 3 =
|
18
|
+
1 + 2 + 3 \n_k_=4: 8 = 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
19
|
+
1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
20
|
+
4 = 1 + 1 + 2 + 4 \n_k_=5: 8 = 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
21
|
+
1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
22
|
+
2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 2 =
|
23
|
+
1 + 1 + 2 + 2 + 2 \n_k_=6: 12 = 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
24
|
+
1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
25
|
+
1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
26
|
+
6 = 1 + 1 + 1 + 1 + 2 + 6\n\nHence for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)_k_
|
27
|
+
![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)6, the sum
|
28
|
+
of all the minimal product-sum numbers is 4+6+8+12 = 30; note that 8 is only counted
|
29
|
+
once in the sum.\n\nIn fact, as the complete set of minimal product-sum numbers
|
30
|
+
for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)_k_
|
31
|
+
![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)12 is {4,
|
32
|
+
6, 8, 12, 15, 16}, the sum is 61.\n\nWhat is the sum of all the minimal product-sum
|
33
|
+
numbers for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)_k_
|
34
|
+
![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)12000?\n\n"
|
data/data/problems/89.yml
CHANGED
@@ -2,17 +2,16 @@
|
|
2
2
|
:id: 89
|
3
3
|
:name: Roman numerals
|
4
4
|
:url: http://projecteuler.net/problem=89
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
no more than four consecutive identical units.</p>\r\n\r\n"
|
5
|
+
:content: "The rules for writing Roman numerals allow for many ways of writing each
|
6
|
+
number (see [About Roman Numerals...](about=roman_numerals)). However, there is
|
7
|
+
always a \"best\" way of writing a particular number.\n\nFor example, the following
|
8
|
+
represent all of the legitimate ways of writing the number sixteen:\n\nIIIIIIIIIIIIIIII
|
9
|
+
\ \n\rVIIIIIIIIIII \n\rVVIIIIII \n\rXIIIIII \n\rVVVI \n\rXVI\n\nThe last example
|
10
|
+
being considered the most efficient, as it uses the least number of numerals.\n\nThe
|
11
|
+
11K text file, [roman.txt](project/roman.txt) (right click and 'Save Link/Target
|
12
|
+
As...'), contains one thousand numbers written in valid, but not necessarily minimal,
|
13
|
+
Roman numerals; that is, they are arranged in descending units and obey the subtractive
|
14
|
+
pair rule (see [About Roman Numerals...](about=roman_numerals) for the definitive
|
15
|
+
rules for this problem).\n\nFind the number of characters saved by writing each
|
16
|
+
of these in their minimal form.\n\nNote: You can assume that all the Roman numerals
|
17
|
+
in the file contain no more than four consecutive identical units.\n\n"
|
data/data/problems/9.yml
CHANGED
@@ -2,12 +2,9 @@
|
|
2
2
|
:id: 9
|
3
3
|
:name: Special Pythagorean triplet
|
4
4
|
:url: http://projecteuler.net/problem=9
|
5
|
-
:content: "
|
6
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<var>
|
11
|
-
+ 4<sup>2</sup> = 9 + 16 = 25 = 5<sup>2</sup>.</p>\r\n<p>There exists exactly one
|
12
|
-
Pythagorean triplet for which <var>a</var> + <var>b</var> + <var>c</var> = 1000.<br>Find
|
13
|
-
the product <var>abc</var>.</p>\r\n\r\n"
|
5
|
+
:content: "A Pythagorean triplet is a set of three natural numbers, <var>a</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
6
|
+
<var>b</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
7
|
+
<var>c</var>, for which,\n\n <var>a</var><sup>2</sup> + <var>b</var><sup>2</sup>
|
8
|
+
= <var>c</var><sup>2</sup>\n\nFor example, 3<sup>2</sup> + 4<sup>2</sup> = 9 + 16
|
9
|
+
= 25 = 5<sup>2</sup>.\n\nThere exists exactly one Pythagorean triplet for which
|
10
|
+
<var>a</var> + <var>b</var> + <var>c</var> = 1000. \nFind the product <var>abc</var>.\n\n"
|
data/data/problems/90.yml
CHANGED
@@ -2,22 +2,20 @@
|
|
2
2
|
:id: 90
|
3
3
|
:name: Cube digit pairs
|
4
4
|
:url: http://projecteuler.net/problem=90
|
5
|
-
:content: "
|
5
|
+
:content: "Each of the six faces on a cube has a different digit (0 to 9) written
|
6
6
|
on it; the same is done to a second cube. By placing the two cubes side-by-side
|
7
|
-
in different positions we can form a variety of 2-digit numbers
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
forming 2-digit numbers.</p>\r\n\r\n<p>How many distinct arrangements of the two
|
23
|
-
cubes allow for all of the square numbers to be displayed?</p>\r\n"
|
7
|
+
in different positions we can form a variety of 2-digit numbers.\n\nFor example,
|
8
|
+
the square number 64 could be formed:\n\n ![](/home/will/src/euler-manager/config/../data/images/p_090.gif)
|
9
|
+
\ \n\nIn fact, by carefully choosing the digits on both cubes it is possible to
|
10
|
+
display all of the square numbers below one-hundred: 01, 04, 09, 16, 25, 36, 49,
|
11
|
+
64, and 81.\n\nFor example, one way this can be achieved is by placing {0, 5, 6,
|
12
|
+
7, 8, 9} on one cube and {1, 2, 3, 4, 8, 9} on the other cube.\n\nHowever, for this
|
13
|
+
problem we shall allow the 6 or 9 to be turned upside-down so that an arrangement
|
14
|
+
like {0, 5, 6, 7, 8, 9} and {1, 2, 3, 4, 6, 7} allows for all nine square numbers
|
15
|
+
to be displayed; otherwise it would be impossible to obtain 09.\n\nIn determining
|
16
|
+
a distinct arrangement we are interested in the digits on each cube, not the order.\n\n{1,
|
17
|
+
2, 3, 4, 5, 6} is equivalent to {3, 6, 4, 1, 2, 5} \n\r{1, 2, 3, 4, 5, 6} is distinct
|
18
|
+
from {1, 2, 3, 4, 5, 9}\n\nBut because we are allowing 6 and 9 to be reversed, the
|
19
|
+
two distinct sets in the last example both represent the extended set {1, 2, 3,
|
20
|
+
4, 5, 6, 9} for the purpose of forming 2-digit numbers.\n\nHow many distinct arrangements
|
21
|
+
of the two cubes allow for all of the square numbers to be displayed?\n\n"
|
data/data/problems/91.yml
CHANGED
@@ -2,18 +2,13 @@
|
|
2
2
|
:id: 91
|
3
3
|
:name: Right triangles with integer coordinates
|
4
4
|
:url: http://projecteuler.net/problem=91
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
alt=\"\"><br>\n</div>\r\n\r\n<p>Given that 0 <img src=\"images/symbol_le.gif\" width=\"10\"
|
16
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>x</i><sub>1</sub>,
|
17
|
-
<i>y</i><sub>1</sub>, <i>x</i><sub>2</sub>, <i>y</i><sub>2</sub><img src=\"images/symbol_le.gif\"
|
18
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
19
|
-
50, how many right triangles can be formed?</p>\r\n"
|
5
|
+
:content: "The points P (_x_<sub>1</sub>, _y_<sub>1</sub>) and Q (_x_<sub>2</sub>,
|
6
|
+
_y_<sub>2</sub>) are plotted at integer co-ordinates and are joined to the origin,
|
7
|
+
O(0,0), to form ΔOPQ.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_091_1.gif)
|
8
|
+
\ \n\nThere are exactly fourteen triangles containing a right angle that can be
|
9
|
+
formed when each co-ordinate lies between 0 and 2 inclusive; that is, \n0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
10
|
+
_x_<sub>1</sub>, _y_<sub>1</sub>, _x_<sub>2</sub>, _y_<sub>2</sub> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
11
|
+
2.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_091_2.gif) \n\nGiven
|
12
|
+
that 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) _x_<sub>1</sub>,
|
13
|
+
_y_<sub>1</sub>, _x_<sub>2</sub>, _y_<sub>2</sub> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
14
|
+
50, how many right triangles can be formed?\n\n"
|
data/data/problems/92.yml
CHANGED
@@ -2,28 +2,17 @@
|
|
2
2
|
:id: 92
|
3
3
|
:name: Square digit chains
|
4
4
|
:url: http://projecteuler.net/problem=92
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
|
20
|
-
20 <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
|
21
|
-
style=\"vertical-align:middle;\"> 4 <img src=\"images/symbol_maps.gif\" width=\"15\"
|
22
|
-
height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 16 <img src=\"images/symbol_maps.gif\"
|
23
|
-
width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
|
24
|
-
37 <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
|
25
|
-
style=\"vertical-align:middle;\"> 58 <img src=\"images/symbol_maps.gif\" width=\"15\"
|
26
|
-
height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"><b>89</b></p>\n<p>Therefore
|
27
|
-
any chain that arrives at 1 or 89 will become stuck in an endless loop. What is
|
28
|
-
most amazing is that EVERY starting number will eventually arrive at 1 or 89.</p>\n<p>How
|
29
|
-
many starting numbers below ten million will arrive at 89?</p>\n\r\n"
|
5
|
+
:content: "A number chain is created by continuously adding the square of the digits
|
6
|
+
in a number to form a new number until it has been seen before.\n\nFor example,\n\n44
|
7
|
+
![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 32 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
8
|
+
13 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 10 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
9
|
+
**1** ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) **1**
|
10
|
+
\ \n85 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
11
|
+
**89** ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
12
|
+
145 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 42
|
13
|
+
![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 20 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
14
|
+
4 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 16 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
15
|
+
37 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 58 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
|
16
|
+
**89**\n\nTherefore any chain that arrives at 1 or 89 will become stuck in an endless
|
17
|
+
loop. What is most amazing is that EVERY starting number will eventually arrive
|
18
|
+
at 1 or 89.\n\nHow many starting numbers below ten million will arrive at 89?\n\n"
|
data/data/problems/93.yml
CHANGED
@@ -2,20 +2,16 @@
|
|
2
2
|
:id: 93
|
3
3
|
:name: Arithmetic expressions
|
4
4
|
:url: http://projecteuler.net/problem=93
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
border=\"0\" style=\"vertical-align:middle;\"><i>b</i> &lt <i>c</i> <img src=\"images/symbol_lt.gif\"
|
19
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\"><i>d</i>,
|
20
|
-
for which the longest set of consecutive positive integers, 1 to <i>n</i>, can be
|
21
|
-
obtained, giving your answer as a string: <i>abcd</i>.</p>\n\r\n"
|
5
|
+
:content: "By using each of the digits from the set, {1, 2, 3, 4}, exactly once, and
|
6
|
+
making use of the four arithmetic operations (+, ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif),
|
7
|
+
\\*, /) and brackets/parentheses, it is possible to form different positive integer
|
8
|
+
targets.\n\nFor example,\n\n8 = (4 \\* (1 + 3)) / 2 \n14 = 4 \\* (3 + 1 / 2) \n19
|
9
|
+
= 4 \\* (2 + 3) ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
10
|
+
1 \n36 = 3 \\* 4 \\* (2 + 1)\n\nNote that concatenations of the digits, like 12
|
11
|
+
+ 34, are not allowed.\n\nUsing the set, {1, 2, 3, 4}, it is possible to obtain
|
12
|
+
thirty-one different target numbers of which 36 is the maximum, and each of the
|
13
|
+
numbers 1 to 28 can be obtained before encountering the first non-expressible number.\n\nFind
|
14
|
+
the set of four distinct digits, _a_ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
15
|
+
_b_ < _c_ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
|
16
|
+
_d_, for which the longest set of consecutive positive integers, 1 to _n_, can be
|
17
|
+
obtained, giving your answer as a string: _abcd_.\n\n"
|
data/data/problems/94.yml
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
:id: 94
|
3
3
|
:name: Almost equilateral triangles
|
4
4
|
:url: http://projecteuler.net/problem=94
|
5
|
-
:content:
|
6
|
-
length sides and integral area. However, the
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
equilateral
|
11
|
-
|
5
|
+
:content: |+
|
6
|
+
It is easily proved that no equilateral triangle exists with integral length sides and integral area. However, the _almost equilateral triangle_ 5-5-6 has an area of 12 square units.
|
7
|
+
|
8
|
+
We shall define an _almost equilateral triangle_ to be a triangle for which two sides are equal and the third differs by no more than one unit.
|
9
|
+
|
10
|
+
Find the sum of the perimeters of all _almost equilateral triangles_ with integral side lengths and area and whose perimeters do not exceed one billion (1,000,000,000).
|
11
|
+
|
data/data/problems/95.yml
CHANGED
@@ -2,22 +2,16 @@
|
|
2
2
|
:id: 95
|
3
3
|
:name: Amicable chains
|
4
4
|
:url: http://projecteuler.net/problem=95
|
5
|
-
:content:
|
6
|
-
number itself. For example, the proper divisors of 28 are 1, 2, 4, 7, and 14. As
|
7
|
-
|
8
|
-
the sum of the proper divisors of 220 is 284 and the sum of the proper divisors
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
|
19
|
-
style=\"vertical-align:middle;\"> 12496 <img src=\"images/symbol_maps.gif\" width=\"15\"
|
20
|
-
height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> ...)</p>\r\n<p>Since
|
21
|
-
this chain returns to its starting point, it is called an amicable chain.</p>\r\n<p>Find
|
22
|
-
the smallest member of the longest amicable chain with no element exceeding one
|
23
|
-
million.</p>\r\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
The proper divisors of a number are all the divisors excluding the number itself. For example, the proper divisors of 28 are 1, 2, 4, 7, and 14. As the sum of these divisors is equal to 28, we call it a perfect number.
|
7
|
+
|
8
|
+
Interestingly the sum of the proper divisors of 220 is 284 and the sum of the proper divisors of 284 is 220, forming a chain of two numbers. For this reason, 220 and 284 are called an amicable pair.
|
9
|
+
|
10
|
+
Perhaps less well known are longer chains. For example, starting with 12496, we form a chain of five numbers:
|
11
|
+
|
12
|
+
12496 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 14288 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 15472 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 14536 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 14264 ( ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 12496 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) ...)
|
13
|
+
|
14
|
+
Since this chain returns to its starting point, it is called an amicable chain.
|
15
|
+
|
16
|
+
Find the smallest member of the longest amicable chain with no element exceeding one million.
|
17
|
+
|
data/data/problems/96.yml
CHANGED
@@ -2,45 +2,29 @@
|
|
2
2
|
:id: 96
|
3
3
|
:name: Su Doku
|
4
4
|
:url: http://projecteuler.net/problem=96
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
new;font-size:14pt;\">9 2 1<br>3 4 5<br>8 7 6</td>\r\n<td style=\"font-family:courier
|
27
|
-
new;font-size:14pt;\">6 5 7<br>8 2 1<br>4 9 3</td>\r\n</tr>\n<tr>\n<td style=\"font-family:courier
|
28
|
-
new;font-size:14pt;\">5 4 8<br>7 2 9<br>1 3 6</td>\r\n<td style=\"font-family:courier
|
29
|
-
new;font-size:14pt;\">1 3 2<br>5 6 4<br>7 9 8</td>\r\n<td style=\"font-family:courier
|
30
|
-
new;font-size:14pt;\">9 7 6<br>1 3 8<br>2 4 5</td>\r\n</tr>\n<tr>\n<td style=\"font-family:courier
|
31
|
-
new;font-size:14pt;\">3 7 2<br>8 1 4<br>6 9 5</td>\r\n<td style=\"font-family:courier
|
32
|
-
new;font-size:14pt;\">6 8 9<br>2 5 3<br>4 1 7</td>\r\n<td style=\"font-family:courier
|
33
|
-
new;font-size:14pt;\">5 1 4<br>7 6 9<br>3 8 2</td>\r\n</tr>\n</table>\n</td>\r\n</tr></table>\n</div>\r\n<p>A
|
34
|
-
well constructed Su Doku puzzle has a unique solution and can be solved by logic,
|
35
|
-
although it may be necessary to employ \"guess and test\" methods in order to eliminate
|
36
|
-
options (there is much contested opinion over this). The complexity of the search
|
37
|
-
determines the difficulty of the puzzle; the example above is considered <i>easy</i>
|
38
|
-
because it can be solved by straight forward direct deduction.</p>\r\n<p>The 6K
|
39
|
-
text file, <a href=\"project/sudoku.txt\">sudoku.txt</a> (right click and 'Save
|
40
|
-
Link/Target As...'), contains fifty different Su Doku puzzles ranging in difficulty,
|
41
|
-
but all with unique solutions (the first puzzle in the file is the example above).</p>\r\n<p>By
|
5
|
+
:content: "Su Doku (Japanese meaning _number place_) is the name given to a popular
|
6
|
+
puzzle concept. Its origin is unclear, but credit must be attributed to Leonhard
|
7
|
+
Euler who invented a similar, and much more difficult, puzzle idea called Latin
|
8
|
+
Squares. The objective of Su Doku puzzles, however, is to replace the blanks (or
|
9
|
+
zeros) in a 9 by 9 grid in such that each row, column, and 3 by 3 box contains each
|
10
|
+
of the digits 1 to 9. Below is an example of a typical starting puzzle grid and
|
11
|
+
its solution grid.\n\n| \n\n| 0 0 3 \n9 0 0 \n0 0 1 | 0 2 0 \n3 0 5 \n8 0 6
|
12
|
+
| 6 0 0 \n0 0 1 \n4 0 0 |\n| 0 0 8 \n7 0 0 \n0 0 6 | 1 0 2 \n0 0 0 \n7 0 8
|
13
|
+
| 9 0 0 \n0 0 8 \n2 0 0 |\n| 0 0 2 \n8 0 0 \n0 0 5 | 6 0 9 \n2 0 3 \n0 1 0
|
14
|
+
| 5 0 0 \n0 0 9 \n3 0 0 |\n\n | ![](/home/will/src/euler-manager/config/../data/images/spacer.gif)
|
15
|
+
\ \n | \n\n| 4 8 3 \n9 6 7 \n2 5 1 | 9 2 1 \n3 4 5 \n8 7 6 | 6 5 7 \n8 2 1
|
16
|
+
\ \n4 9 3 |\n| 5 4 8 \n7 2 9 \n1 3 6 | 1 3 2 \n5 6 4 \n7 9 8 | 9 7 6 \n1 3
|
17
|
+
8 \n2 4 5 |\n| 3 7 2 \n8 1 4 \n6 9 5 | 6 8 9 \n2 5 3 \n4 1 7 | 5 1 4 \n7 6
|
18
|
+
9 \n3 8 2 |\n\n |\n\nA well constructed Su Doku puzzle has a unique solution and
|
19
|
+
can be solved by logic, although it may be necessary to employ \"guess and test\"
|
20
|
+
methods in order to eliminate options (there is much contested opinion over this).
|
21
|
+
The complexity of the search determines the difficulty of the puzzle; the example
|
22
|
+
above is considered _easy_ because it can be solved by straight forward direct deduction.\n\nThe
|
23
|
+
6K text file, [sudoku.txt](project/sudoku.txt) (right click and 'Save Link/Target
|
24
|
+
As...'), contains fifty different Su Doku puzzles ranging in difficulty, but all
|
25
|
+
with unique solutions (the first puzzle in the file is the example above).\n\nBy
|
42
26
|
solving all fifty puzzles find the sum of the 3-digit numbers found in the top left
|
43
27
|
corner of each solution grid; for example, 483 is the 3-digit number found in the
|
44
|
-
top left corner of the solution grid above
|
45
|
-
|
46
|
-
|
28
|
+
top left corner of the solution grid above.\n\n<!--<p class='info'>Note: If you're
|
29
|
+
convinced that "guess and test" methods need not be employed please tell
|
30
|
+
how you would solve #6 and #46. (c;</p>-->\n"
|
data/data/problems/97.yml
CHANGED
@@ -2,13 +2,10 @@
|
|
2
2
|
:id: 97
|
3
3
|
:name: Large non-Mersenne prime
|
4
4
|
:url: http://projecteuler.net/problem=97
|
5
|
-
:content:
|
6
|
-
in 1999, and is a Mersenne prime of the form 2<sup>6972593</sup><
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
prime which contains 2,357,207 digits: 28433<img src=\"images/symbol_times.gif\"
|
13
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">2<sup>7830457</sup>+1.</p>\r\n<p>Find
|
14
|
-
the last ten digits of this prime number.</p>\r\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
The first known prime found to exceed one million digits was discovered in 1999, and is a Mersenne prime of the form 2<sup>6972593</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)1; it contains exactly 2,098,960 digits. Subsequently other Mersenne primes, of the form 2<sup><i>p</i></sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)1, have been found which contain more digits.
|
7
|
+
|
8
|
+
However, in 2004 there was found a massive non-Mersenne prime which contains 2,357,207 digits: 28433 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)2<sup>7830457</sup>+1.
|
9
|
+
|
10
|
+
Find the last ten digits of this prime number.
|
11
|
+
|
data/data/problems/98.yml
CHANGED
@@ -2,15 +2,12 @@
|
|
2
2
|
:id: 98
|
3
3
|
:name: Anagramic squares
|
4
4
|
:url: http://projecteuler.net/problem=98
|
5
|
-
:content:
|
6
|
-
and 6 respectively, we form a square number: 1296 = 36<sup>2</sup>. What is remarkable
|
7
|
-
|
8
|
-
a
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
of itself).</p>\r\n<p>What is the largest square number formed by any member of
|
15
|
-
such a pair?</p>\r\n<p class=\"info\">NOTE: All anagrams formed must be contained
|
16
|
-
in the given text file.</p>\r\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
By replacing each of the letters in the word CARE with 1, 2, 9, and 6 respectively, we form a square number: 1296 = 36<sup>2</sup>. What is remarkable is that, by using the same digital substitutions, the anagram, RACE, also forms a square number: 9216 = 96<sup>2</sup>. We shall call CARE (and RACE) a square anagram word pair and specify further that leading zeroes are not permitted, neither may a different letter have the same digital value as another letter.
|
7
|
+
|
8
|
+
Using [words.txt](project/words.txt) (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, find all the square anagram word pairs (a palindromic word is NOT considered to be an anagram of itself).
|
9
|
+
|
10
|
+
What is the largest square number formed by any member of such a pair?
|
11
|
+
|
12
|
+
NOTE: All anagrams formed must be contained in the given text file.
|
13
|
+
|
data/data/problems/99.yml
CHANGED
@@ -2,15 +2,12 @@
|
|
2
2
|
:id: 99
|
3
3
|
:name: Largest exponential
|
4
4
|
:url: http://projecteuler.net/problem=99
|
5
|
-
:content:
|
6
|
-
and 3<sup>7</sup> is not difficult, as any calculator would confirm that 2<sup>11</sup>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
on each line, determine which line number has the greatest numerical value.</p>\n<p
|
15
|
-
class=\"info\">NOTE: The first two lines in the file represent the numbers in the
|
16
|
-
example given above.</p>\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
Comparing two numbers written in index form like 2<sup>11</sup> and 3<sup>7</sup> is not difficult, as any calculator would confirm that 2<sup>11</sup> = 2048 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 3<sup>7</sup> = 2187.
|
7
|
+
|
8
|
+
However, confirming that 632382<sup>518061</sup> ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif) 519432<sup>525806</sup> would be much more difficult, as both numbers contain over three million digits.
|
9
|
+
|
10
|
+
Using [base\_exp.txt](project/base_exp.txt) (right click and 'Save Link/Target As...'), a 22K text file containing one thousand lines with a base/exponent pair on each line, determine which line number has the greatest numerical value.
|
11
|
+
|
12
|
+
NOTE: The first two lines in the file represent the numbers in the example given above.
|
13
|
+
|
data/euler-manager.gemspec
CHANGED
data/example/1/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# [Multiples of 3 and 5](http://projecteuler.net/problem=1)
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
|
4
|
+
|
5
|
+
Find the sum of all the multiples of 3 or 5 below 1000.
|
6
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# [Lattice paths](http://projecteuler.net/problem=15)
|
2
|
+
|
3
|
+
Starting in the top left corner of a 2 ![×](https://raw.githubusercontent.com/yaworsw/euler-manager/develop/.data/images/symbol_times.gif)2 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner.
|
4
|
+
|
5
|
+
![](https://raw.githubusercontent.com/yaworsw/euler-manager/develop/.data/images/p_015.gif)
|
6
|
+
|
7
|
+
How many such routes are there through a 20 ![×](https://raw.githubusercontent.com/yaworsw/euler-manager/develop/.data/images/symbol_times.gif)20 grid?
|
8
|
+
|
File without changes
|