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/10.yml
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
:id: 10
|
3
3
|
:name: Summation of primes
|
4
4
|
:url: http://projecteuler.net/problem=10
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
parameters.</p>\r\n-->\r\n\r\n\r\n"
|
5
|
+
:content: "The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.\n\nFind the sum of
|
6
|
+
all the primes below two million.\n\n<!--\r\n<p class=\"note\">Note: This problem
|
7
|
+
has been changed recently, please check that you are using the right parameters.</p>\r\n-->\n"
|
data/data/problems/100.yml
CHANGED
@@ -2,12 +2,10 @@
|
|
2
2
|
:id: 100
|
3
3
|
:name: Arranged probability
|
4
4
|
:url: http://projecteuler.net/problem=100
|
5
|
-
:content:
|
6
|
-
blue discs and six red discs, and two discs were taken at random, it can be seen
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
10<sup>12</sup> = 1,000,000,000,000 discs in total, determine the number of blue
|
13
|
-
discs that the box would contain.</p>\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
If a box contains twenty-one coloured discs, composed of fifteen blue discs and six red discs, and two discs were taken at random, it can be seen that the probability of taking two blue discs, P(BB) = (15/21) ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)(14/20) = 1/2.
|
7
|
+
|
8
|
+
The next such arrangement, for which there is exactly 50% chance of taking two blue discs at random, is a box containing eighty-five blue discs and thirty-five red discs.
|
9
|
+
|
10
|
+
By finding the first arrangement to contain over 10<sup>12</sup> = 1,000,000,000,000 discs in total, determine the number of blue discs that the box would contain.
|
11
|
+
|
data/data/problems/101.yml
CHANGED
@@ -2,48 +2,35 @@
|
|
2
2
|
:id: 101
|
3
3
|
:name: Optimum polynomial
|
4
4
|
:url: http://projecteuler.net/problem=101
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
the
|
19
|
-
|
20
|
-
the
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
<var>n</var>) = <var>
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
<var>n</var>
|
32
|
-
|
33
|
-
|
34
|
-
<var>n</var>
|
35
|
-
|
36
|
-
|
37
|
-
the sum of FITs generated by the BOPs (indicated in <span style=\"color:red;\"><b>red</b></span>
|
38
|
-
above), we obtain 1 + 15 + 58 = 74.</p>\r\n<p>Consider the following tenth degree
|
39
|
-
polynomial generating function:</p>\r\n<p style=\"text-align:center;\"><var>u</var><sub><var>n</var></sub>
|
40
|
-
= 1 <img src=\"images/symbol_minus.gif\" width=\"9\" height=\"3\" alt=\"−\" border=\"0\"
|
41
|
-
style=\"vertical-align:middle;\"><var>n</var> + <var>n</var><sup>2</sup><img src=\"images/symbol_minus.gif\"
|
42
|
-
width=\"9\" height=\"3\" alt=\"−\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var><sup>3</sup>
|
43
|
-
+ <var>n</var><sup>4</sup><img src=\"images/symbol_minus.gif\" width=\"9\" height=\"3\"
|
44
|
-
alt=\"−\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var><sup>5</sup>
|
45
|
-
+ <var>n</var><sup>6</sup><img src=\"images/symbol_minus.gif\" width=\"9\" height=\"3\"
|
46
|
-
alt=\"−\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var><sup>7</sup>
|
47
|
-
+ <var>n</var><sup>8</sup><img src=\"images/symbol_minus.gif\" width=\"9\" height=\"3\"
|
48
|
-
alt=\"−\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var><sup>9</sup>
|
49
|
-
+ <var>n</var><sup>10</sup></p>\r\n<p>Find the sum of FITs for the BOPs.</p>\r\n\r\n"
|
5
|
+
:content: "If we are presented with the first <var>k</var> terms of a sequence it
|
6
|
+
is impossible to say with certainty the value of the next term, as there are infinitely
|
7
|
+
many polynomial functions that can model the sequence.\n\nAs an example, let us
|
8
|
+
consider the sequence of cube numbers. This is defined by the generating function,
|
9
|
+
\ \n<var>u</var><sub><var>n</var></sub> = <var>n</var><sup>3</sup>: 1, 8, 27, 64,
|
10
|
+
125, 216, ...\n\nSuppose we were only given the first two terms of this sequence.
|
11
|
+
Working on the principle that \"simple is best\" we should assume a linear relationship
|
12
|
+
and predict the next term to be 15 (common difference 7). Even if we were presented
|
13
|
+
with the first three terms, by the same principle of simplicity, a quadratic relationship
|
14
|
+
should be assumed.\n\nWe shall define OP(<var>k</var>, <var>n</var>) to be the <var>n</var><sup>th</sup>
|
15
|
+
term of the optimum polynomial generating function for the first <var>k</var> terms
|
16
|
+
of a sequence. It should be clear that OP(<var>k</var>, <var>n</var>) will accurately
|
17
|
+
generate the terms of the sequence for <var>n</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
|
18
|
+
<var>k</var>, and potentially the _first incorrect term_ (FIT) will be OP(<var>k</var>,
|
19
|
+
<var>k</var>+1); in which case we shall call it a _bad OP_ (BOP).\n\nAs a basis,
|
20
|
+
if we were only given the first term of sequence, it would be most sensible to assume
|
21
|
+
constancy; that is, for <var>n</var> ![≥](/home/will/src/euler-manager/config/../data/images/symbol_ge.gif)
|
22
|
+
2, OP(1, <var>n</var>) = <var>u</var><sub>1</sub>.\n\nHence we obtain the following
|
23
|
+
OPs for the cubic sequence:\n\n| OP(1, <var>n</var>) = 1 | 1, **1** , 1, 1, ...
|
24
|
+
|\n| OP(2, <var>n</var>) = 7<var>n</var> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)6
|
25
|
+
| 1, 8, **15** , ... |\n| OP(3, <var>n</var>) = 6<var>n</var><sup>2</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)11<var>n</var>+6
|
26
|
+
| 1, 8, 27, **58** , ... |\n| OP(4, <var>n</var>) = <var>n</var><sup>3</sup> | 1,
|
27
|
+
8, 27, 64, 125, ... |\n\nClearly no BOPs exist for <var>k</var> ![≥](/home/will/src/euler-manager/config/../data/images/symbol_ge.gif)
|
28
|
+
4.\n\nBy considering the sum of FITs generated by the BOPs (indicated in **red**
|
29
|
+
above), we obtain 1 + 15 + 58 = 74.\n\nConsider the following tenth degree polynomial
|
30
|
+
generating function:\n\n<var>u</var><sub><var>n</var></sub> = 1 ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
31
|
+
<var>n</var> + <var>n</var><sup>2</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
32
|
+
<var>n</var><sup>3</sup> + <var>n</var><sup>4</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
33
|
+
<var>n</var><sup>5</sup> + <var>n</var><sup>6</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
34
|
+
<var>n</var><sup>7</sup> + <var>n</var><sup>8</sup> ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
35
|
+
<var>n</var><sup>9</sup> + <var>n</var><sup>10</sup>\n\nFind the sum of FITs for
|
36
|
+
the BOPs.\n\n"
|
data/data/problems/102.yml
CHANGED
@@ -2,15 +2,14 @@
|
|
2
2
|
:id: 102
|
3
3
|
:name: Triangle containment
|
4
4
|
:url: http://projecteuler.net/problem=102
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
in the file represent the triangles in the example given above.</p>\n\r\n"
|
5
|
+
:content: "Three distinct points are plotted at random on a Cartesian plane, for which
|
6
|
+
-1000 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) _x_,
|
7
|
+
_y_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 1000,
|
8
|
+
such that a triangle is formed.\n\nConsider the following two triangles:\n\nA(-340,495),
|
9
|
+
B(-153,-910), C(835,-947) \n \n \nX(-175,41), Y(-421,-714), Z(574,-645)\n\nIt
|
10
|
+
can be verified that triangle ABC contains the origin, whereas triangle XYZ does
|
11
|
+
not.\n\nUsing [triangles.txt](project/triangles.txt) (right click and 'Save Link/Target
|
12
|
+
As...'), a 27K text file containing the co-ordinates of one thousand \"random\"
|
13
|
+
triangles, find the number of triangles for which the interior contains the origin.\n\nNOTE:
|
14
|
+
The first two examples in the file represent the triangles in the example given
|
15
|
+
above.\n\n"
|
data/data/problems/103.yml
CHANGED
@@ -2,25 +2,21 @@
|
|
2
2
|
:id: 103
|
3
3
|
:name: 'Special subset sums: optimum'
|
4
4
|
:url: http://projecteuler.net/problem=103
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
the
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
A = {11, 18, 19, 20, 22, 25}, with S(A) = 115 and corresponding set string: 111819202225.</p>\r\n<p>Given
|
24
|
-
that A is an optimum special sum set for <i>n</i> = 7, find its set string.</p>\r\n<p
|
25
|
-
class=\"note\">NOTE: This problem is related to <a href=\"problem=105\">Problem
|
26
|
-
105</a> and <a href=\"problem=106\">Problem 106</a>.</p>\r\n"
|
5
|
+
:content: "Let S(A) represent the sum of elements in set A of size _n_. We shall call
|
6
|
+
it a special sum set if for any two non-empty disjoint subsets, B and C, the following
|
7
|
+
properties are true:\n\n1. S(B) ![≠](/home/will/src/euler-manager/config/../data/images/symbol_ne.gif)
|
8
|
+
S(C); that is, sums of subsets cannot be equal.\n2. If B contains more elements
|
9
|
+
than C then S(B) ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)
|
10
|
+
S(C).\n\nIf S(A) is minimised for a given _n_, we shall call it an optimum special
|
11
|
+
sum set. The first five optimum special sum sets are given below.\n\n_n_ = 1: {1}
|
12
|
+
\ \n_n_ = 2: {1, 2} \n_n_ = 3: {2, 3, 4} \n_n_ = 4: {3, 5, 6, 7} \n_n_ = 5: {6,
|
13
|
+
9, 11, 12, 13}\n\nIt _seems_ that for a given optimum set, A = {_a_<sub>1</sub>,
|
14
|
+
_a_<sub>2</sub>, ... , _a_<sub>n</sub>}, the next optimum set is of the form B =
|
15
|
+
{_b_, _a_<sub>1</sub>+_b_, _a_<sub>2</sub>+_b_, ... ,_a_<sub>n</sub>+_b_}, where
|
16
|
+
_b_ is the \"middle\" element on the previous row.\n\nBy applying this \"rule\"
|
17
|
+
we would expect the optimum set for _n_ = 6 to be A = {11, 17, 20, 22, 23, 24},
|
18
|
+
with S(A) = 117. However, this is not the optimum set, as we have merely applied
|
19
|
+
an algorithm to provide a near optimum set. The optimum set for _n_ = 6 is A = {11,
|
20
|
+
18, 19, 20, 22, 25}, with S(A) = 115 and corresponding set string: 111819202225.\n\nGiven
|
21
|
+
that A is an optimum special sum set for _n_ = 7, find its set string.\n\nNOTE:
|
22
|
+
This problem is related to [Problem 105](problem=105) and [Problem 106](problem=106).\n\n"
|
data/data/problems/104.yml
CHANGED
@@ -2,14 +2,12 @@
|
|
2
2
|
:id: 104
|
3
3
|
:name: Pandigital Fibonacci ends
|
4
4
|
:url: http://projecteuler.net/problem=104
|
5
|
-
:content:
|
6
|
-
|
7
|
-
|
8
|
-
width
|
9
|
-
|
10
|
-
F<sub>541</sub>, which contains 113 digits, is the first Fibonacci number for which
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
that F<sub><i>k</i></sub> is the first Fibonacci number for which the first nine
|
15
|
-
digits AND the last nine digits are 1-9 pandigital, find <i>k</i>.</p>\n\r\n"
|
5
|
+
:content: |+
|
6
|
+
The Fibonacci sequence is defined by the recurrence relation:
|
7
|
+
|
8
|
+
> F<sub><i>n</i></sub> = F<sub><i>n</i><img src="%7B%7B%20images_dir%20%7D%7D/symbol_minus.gif" width="9" height="3" alt="−" border="0" style="vertical-align:middle;">1</sub> + F<sub><i>n</i><img src="%7B%7B%20images_dir%20%7D%7D/symbol_minus.gif" width="9" height="3" alt="−" border="0" style="vertical-align:middle;">2</sub>, where F<sub>1</sub> = 1 and F<sub>2</sub> = 1.
|
9
|
+
|
10
|
+
It turns out that F<sub>541</sub>, which contains 113 digits, is the first Fibonacci number for which the last nine digits are 1-9 pandigital (contain all the digits 1 to 9, but not necessarily in order). And F<sub>2749</sub>, which contains 575 digits, is the first Fibonacci number for which the first nine digits are 1-9 pandigital.
|
11
|
+
|
12
|
+
Given that F<sub><i>k</i></sub> is the first Fibonacci number for which the first nine digits AND the last nine digits are 1-9 pandigital, find _k_.
|
13
|
+
|
data/data/problems/105.yml
CHANGED
@@ -2,20 +2,15 @@
|
|
2
2
|
:id: 105
|
3
3
|
:name: 'Special subset sums: testing'
|
4
4
|
:url: http://projecteuler.net/problem=105
|
5
|
-
:content:
|
6
|
-
We shall call it a special sum set if for any two non-empty disjoint subsets, B
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
examples given above are the first two sets in the file), identify all the special
|
18
|
-
sum sets, A<sub>1</sub>, A<sub>2</sub>, ..., A<sub><i>k</i></sub>, and find the
|
19
|
-
value of S(A<sub>1</sub>) + S(A<sub>2</sub>) + ... + S(A<sub><i>k</i></sub>).</p>\r\n<p
|
20
|
-
class=\"note\">NOTE: This problem is related to <a href=\"problem=103\">Problem
|
21
|
-
103</a> and <a href=\"problem=106\">Problem 106</a>.</p>\r\n"
|
5
|
+
:content: |+
|
6
|
+
Let S(A) represent the sum of elements in set A of size _n_. We shall call it a special sum set if for any two non-empty disjoint subsets, B and C, the following properties are true:
|
7
|
+
|
8
|
+
1. S(B) ![≠](/home/will/src/euler-manager/config/../data/images/symbol_ne.gif) S(C); that is, sums of subsets cannot be equal.
|
9
|
+
2. If B contains more elements than C then S(B) ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif) S(C).
|
10
|
+
|
11
|
+
For example, {81, 88, 75, 42, 87, 84, 86, 65} is not a special sum set because 65 + 87 + 88 = 75 + 81 + 84, whereas {157, 150, 164, 119, 79, 159, 161, 139, 158} satisfies both rules for all possible subset pair combinations and S(A) = 1286.
|
12
|
+
|
13
|
+
Using [sets.txt](project/sets.txt) (right click and "Save Link/Target As..."), a 4K text file with one-hundred sets containing seven to twelve elements (the two examples given above are the first two sets in the file), identify all the special sum sets, A<sub>1</sub>, A<sub>2</sub>, ..., A<sub><i>k</i></sub>, and find the value of S(A<sub>1</sub>) + S(A<sub>2</sub>) + ... + S(A<sub><i>k</i></sub>).
|
14
|
+
|
15
|
+
NOTE: This problem is related to [Problem 103](problem=103) and [Problem 106](problem=106).
|
16
|
+
|
data/data/problems/106.yml
CHANGED
@@ -2,18 +2,17 @@
|
|
2
2
|
:id: 106
|
3
3
|
:name: 'Special subset sums: meta-testing'
|
4
4
|
:url: http://projecteuler.net/problem=106
|
5
|
-
:content:
|
6
|
-
We shall call it a special sum set if for any two non-empty disjoint subsets, B
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
=
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<a href=\"problem=103\">Problem 103</a> and <a href=\"problem=105\">Problem 105</a>.</p>\r\n"
|
5
|
+
:content: |+
|
6
|
+
Let S(A) represent the sum of elements in set A of size _n_. We shall call it a special sum set if for any two non-empty disjoint subsets, B and C, the following properties are true:
|
7
|
+
|
8
|
+
1. S(B) ![≠](/home/will/src/euler-manager/config/../data/images/symbol_ne.gif) S(C); that is, sums of subsets cannot be equal.
|
9
|
+
2. If B contains more elements than C then S(B) ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif) S(C).
|
10
|
+
|
11
|
+
For this problem we shall assume that a given set contains _n_ strictly increasing elements and it already satisfies the second rule.
|
12
|
+
|
13
|
+
Surprisingly, out of the 25 possible subset pairs that can be obtained from a set for which _n_ = 4, only 1 of these pairs need to be tested for equality (first rule). Similarly, when _n_ = 7, only 70 out of the 966 subset pairs need to be tested.
|
14
|
+
|
15
|
+
For _n_ = 12, how many of the 261625 subset pairs that can be obtained need to be tested for equality?
|
16
|
+
|
17
|
+
NOTE: This problem is related to [Problem 103](problem=103) and [Problem 105](problem=105).
|
18
|
+
|
data/data/problems/107.yml
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
:id: 107
|
3
3
|
:name: Minimal network
|
4
4
|
:url: http://projecteuler.net/problem=107
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
(right click and 'Save Link/Target
|
18
|
-
with forty vertices, and given in matrix
|
19
|
-
be achieved by removing redundant edges
|
20
|
-
connected
|
5
|
+
:content: "The following undirected network consists of seven vertices and twelve
|
6
|
+
edges with a total weight of 243.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_107_1.gif)
|
7
|
+
\ \n\nThe same network can be represented by the matrix below.\n\n| | **A**
|
8
|
+
| **B** | **C** | **D** | **E** | **F** | **G** |\n| **A** | - | 16 | 12 | 21 |
|
9
|
+
- | - | - |\n| **B** | 16 | - | - | 17 | 20 | - | - |\n| **C** | 12 | - | - | 28
|
10
|
+
| - | 31 | - |\n| **D** | 21 | 17 | 28 | - | 18 | 19 | 23 |\n| **E** | - | 20 |
|
11
|
+
- | 18 | - | - | 11 |\n| **F** | - | - | 31 | 19 | - | - | 27 |\n| **G** | - | -
|
12
|
+
| - | 23 | 11 | 27 | - |\n\nHowever, it is possible to optimise the network by removing
|
13
|
+
some edges and still ensure that all points on the network remain connected. The
|
14
|
+
network which achieves the maximum saving is shown below. It has a weight of 93,
|
15
|
+
representing a saving of 243 ![−](/home/will/src/euler-manager/config/../data/images/symbol_minus.gif)
|
16
|
+
93 = 150 from the original network.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_107_2.gif)
|
17
|
+
\ \n\nUsing [network.txt](project/network.txt) (right click and 'Save Link/Target
|
18
|
+
As...'), a 6K text file containing a network with forty vertices, and given in matrix
|
19
|
+
form, find the maximum saving which can be achieved by removing redundant edges
|
20
|
+
whilst ensuring that the network remains connected.\n\n"
|
data/data/problems/108.yml
CHANGED
@@ -2,31 +2,20 @@
|
|
2
2
|
:id: 108
|
3
3
|
:name: Diophantine reciprocals I
|
4
4
|
:url: http://projecteuler.net/problem=108
|
5
|
-
:content: "
|
6
|
-
are positive integers
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
= </td>\r\n<td><div style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\"
|
23
|
-
width=\"15\" height=\"1\" alt=\"\"><br> 4</div></td>\r\n</tr>\n<tr>\n<td><div style=\"text-align:center;\">1<br><img
|
24
|
-
src=\"images/blackdot.gif\" width=\"15\" height=\"1\" alt=\"\"><br> 8</div></td>\r\n<td>
|
25
|
-
+ </td>\r\n<td><div style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\"
|
26
|
-
width=\"15\" height=\"1\" alt=\"\"><br> 8</div></td>\r\n<td> = </td>\r\n<td><div
|
27
|
-
style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\" width=\"15\"
|
28
|
-
height=\"1\" alt=\"\"><br> 4</div></td>\r\n</tr>\n</table>\n</div>\r\n<p>What is
|
29
|
-
the least value of <var>n</var> for which the number of distinct solutions exceeds
|
30
|
-
one-thousand?</p>\r\n<p class=\"note\">NOTE: This problem is an easier version of
|
31
|
-
<a href=\"problem=110\">Problem 110</a>; it is strongly advised that you solve this
|
32
|
-
one first.</p>\r\n"
|
5
|
+
:content: "In the following equation <var>x</var>, <var>y</var>, and <var>n</var>
|
6
|
+
are positive integers.\n\n| \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
7
|
+
\ \n <var>x</var>\n | + | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
8
|
+
\ \n <var>y</var>\n | = | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
9
|
+
\ \n <var>n</var>\n |\n\nFor <var>n</var> = 4 there are exactly three distinct solutions:\n\n|
|
10
|
+
\n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif) \n
|
11
|
+
5\n | + | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
12
|
+
\ \n 20\n | = | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
13
|
+
\ \n 4\n |\n| \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
14
|
+
\ \n 6\n | + | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
15
|
+
\ \n 12\n | = | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
16
|
+
\ \n 4\n |\n| \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
17
|
+
\ \n 8\n | + | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
18
|
+
\ \n 8\n | = | \n1 \n ![](/home/will/src/euler-manager/config/../data/images/blackdot.gif)
|
19
|
+
\ \n 4\n |\n\nWhat is the least value of <var>n</var> for which the number of distinct
|
20
|
+
solutions exceeds one-thousand?\n\nNOTE: This problem is an easier version of [Problem
|
21
|
+
110](problem=110); it is strongly advised that you solve this one first.\n\n"
|
data/data/problems/109.yml
CHANGED
@@ -2,32 +2,30 @@
|
|
2
2
|
:id: 109
|
3
3
|
:name: Darts
|
4
4
|
:url: http://projecteuler.net/problem=109
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
outer ring
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
ways of checking out in total.</p>\r\n<p>How many distinct ways can a player checkout
|
33
|
-
with a score less than 100?</p>\r\n\r\n"
|
5
|
+
:content: "In the game of darts a player throws three darts at a target board which
|
6
|
+
is split into twenty equal sized sections numbered one to twenty.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_109.gif)
|
7
|
+
\ \n\nThe score of a dart is determined by the number of the region that the dart
|
8
|
+
lands in. A dart landing outside the red/green outer ring scores zero. The black
|
9
|
+
and cream regions inside this ring represent single scores. However, the red/green
|
10
|
+
outer ring and middle ring score double and treble scores respectively.\n\nAt the
|
11
|
+
centre of the board are two concentric circles called the bull region, or bulls-eye.
|
12
|
+
The outer bull is worth 25 points and the inner bull is a double, worth 50 points.\n\nThere
|
13
|
+
are many variations of rules but in the most popular game the players will begin
|
14
|
+
with a score 301 or 501 and the first player to reduce their running total to zero
|
15
|
+
is a winner. However, it is normal to play a \"doubles out\" system, which means
|
16
|
+
that the player must land a double (including the double bulls-eye at the centre
|
17
|
+
of the board) on their final dart to win; any other dart that would reduce their
|
18
|
+
running total to one or lower means the score for that set of three darts is \"bust\".\n\nWhen
|
19
|
+
a player is able to finish on their current score it is called a \"checkout\" and
|
20
|
+
the highest checkout is 170: T20 T20 D25 (two treble 20s and double bull).\n\nThere
|
21
|
+
are exactly eleven distinct ways to checkout on a score of 6:\n\n| ![](/home/will/src/euler-manager/config/../data/images/spacer.gif)
|
22
|
+
\ \nD3 | ![](/home/will/src/euler-manager/config/../data/images/spacer.gif) \n
|
23
|
+
| ![](/home/will/src/euler-manager/config/../data/images/spacer.gif) \n |\n| D1
|
24
|
+
| D2 | |\n| S2 | D2 | |\n| D2 | D1 | |\n| S4 | D1 | |\n| S1 | S1 | D2 |\n|
|
25
|
+
S1 | T1 | D1 |\n| S1 | S3 | D1 |\n| D1 | D1 | D1 |\n| D1 | S2 | D1 |\n| S2 | S2
|
26
|
+
| D1 |\n\nNote that D1 D2 is considered **different** to D2 D1 as they finish on
|
27
|
+
different doubles. However, the combination S1 T1 D1 is considered the **same**
|
28
|
+
as T1 S1 D1.\n\nIn addition we shall not include misses in considering combinations;
|
29
|
+
for example, D3 is the **same** as 0 D3 and 0 0 D3.\n\nIncredibly there are 42336
|
30
|
+
distinct ways of checking out in total.\n\nHow many distinct ways can a player checkout
|
31
|
+
with a score less than 100?\n\n"
|
data/data/problems/11.yml
CHANGED
@@ -2,32 +2,27 @@
|
|
2
2
|
:id: 11
|
3
3
|
:name: Largest product in a grid
|
4
4
|
:url: http://projecteuler.net/problem=11
|
5
|
-
:content: "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">
|
30
|
-
14 = 1788696.</p>\r\n<p>What is the greatest product of four adjacent numbers in
|
31
|
-
the same direction (up, down, left, right, or diagonally) in the 20<img src=\"images/symbol_times.gif\"
|
32
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">20
|
33
|
-
grid?</p>\r\n\r\n"
|
5
|
+
:content: "In the 20 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)20
|
6
|
+
grid below, four numbers along a diagonal line have been marked in red.\n\n08 02
|
7
|
+
22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 \n\r49 49 99 40 17 81 18
|
8
|
+
57 60 87 17 40 98 43 69 48 04 56 62 00 \n\r81 49 31 73 55 79 14 29 93 71 40 67
|
9
|
+
53 88 30 03 49 13 36 65 \n\r52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37
|
10
|
+
02 36 91 \n\r22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 \n\r24
|
11
|
+
47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 \n\r32 98 81 28 64 23
|
12
|
+
67 10 **26** 38 40 67 59 54 70 66 18 38 64 70 \n\r67 26 20 68 02 62 12 20 95 **63**
|
13
|
+
94 39 63 08 40 91 66 49 94 21 \n\r24 55 58 05 66 73 99 26 97 17 **78** 78 96 83
|
14
|
+
14 88 34 89 63 72 \n\r21 36 23 09 75 00 76 44 20 45 35 **14** 00 61 33 97 34 31
|
15
|
+
33 95 \n\r78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 \n\r16 39
|
16
|
+
05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 \n\r86 56 00 48 35 71 89
|
17
|
+
07 05 44 44 37 44 60 21 58 51 54 17 58 \n\r19 80 81 68 05 94 47 69 28 73 92 13
|
18
|
+
86 52 17 77 04 89 55 40 \n\r04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33
|
19
|
+
27 98 66 \n\r88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69 \n\r04
|
20
|
+
42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36 \n\r20 69 36 41 72 30
|
21
|
+
23 88 34 62 99 69 82 67 59 85 74 04 36 16 \n\r20 73 35 29 78 31 90 01 74 31 49
|
22
|
+
71 48 86 81 16 23 57 05 54 \n\r01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01
|
23
|
+
89 19 67 48\n\nThe product of these numbers is 26 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
|
24
|
+
63 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 78
|
25
|
+
![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 14 = 1788696.\n\nWhat
|
26
|
+
is the greatest product of four adjacent numbers in the same direction (up, down,
|
27
|
+
left, right, or diagonally) in the 20 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)20
|
28
|
+
grid?\n\n"
|