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/438.yml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 438
|
3
|
-
:name: Integer part of polynomial equation's solutions
|
4
|
-
:url: http://projecteuler.net/problem=438
|
5
|
-
:content: "\r\n<p>\r\nFor an <var>n</var>-tuple of integers <var>t</var> = (<var>a</var><sub>1</sub>,
|
6
|
-
..., <var>a</var><sub><var>n</var></sub>), let (<var>x</var><sub>1</sub>, ..., <var>x</var><sub><var>n</var></sub>)
|
7
|
-
be the solutions of the polynomial equation <var>x</var><sup><var>n</var></sup>
|
8
|
-
+ <var>a</var><sub>1</sub><var>x</var><sup><var>n</var>-1</sup> + <var>a</var><sub>2</sub><var>x</var><sup><var>n</var>-2</sup>
|
9
|
-
+ ... + <var>a</var><sub><var>n</var>-1</sub><var>x</var> + <var>a</var><sub><var>n</var></sub>
|
10
|
-
= 0.\r\n</p>\r\n<p>\r\nConsider the following two conditions:\r\n</p>\n<ul>\n<li>\n<var>x</var><sub>1</sub>,
|
11
|
-
..., <var>x</var><sub><var>n</var></sub> are all real.\r\n</li>\n<li>If <var>x</var><sub>1</sub>,
|
12
|
-
..., <var>x</var><sub><var>n</var></sub> are sorted, <img src=\"images/symbol_lfloor.gif\"
|
13
|
-
width=\"6\" height=\"16\" alt=\"⌊\" border=\"0\" style=\"vertical-align:middle;\"><var>x</var><sub><var>i</var></sub><img
|
14
|
-
src=\"images/symbol_rfloor.gif\" width=\"6\" height=\"16\" alt=\"⌋\" border=\"0\"
|
15
|
-
style=\"vertical-align:middle;\"> = <var>i</var> for 1 <img src=\"images/symbol_le.gif\"
|
16
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var>
|
17
|
-
<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\"><var>n</var>. (<img src=\"images/symbol_lfloor.gif\"
|
19
|
-
width=\"6\" height=\"16\" alt=\"⌊\" border=\"0\" style=\"vertical-align:middle;\">·<img
|
20
|
-
src=\"images/symbol_rfloor.gif\" width=\"6\" height=\"16\" alt=\"⌋\" border=\"0\"
|
21
|
-
style=\"vertical-align:middle;\">: floor function.)\r\n</li>\n</ul>\n<p>\r\nIn the
|
22
|
-
case of <var>n</var> = 4, there are 12 <var>n</var>-tuples of integers which satisfy
|
23
|
-
both conditions.<br>\r\nWe define S(<var>t</var>) as the sum of the absolute values
|
24
|
-
of the integers in <var>t</var>.<br>\r\nFor <var>n</var> = 4 we can verify that
|
25
|
-
<img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
|
26
|
-
style=\"vertical-align:middle;\">S(<var>t</var>) = 2087 for all <var>n</var>-tuples
|
27
|
-
<var>t</var> which satisfy both conditions.\r\n</p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\"
|
28
|
-
width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">S(<var>t</var>)
|
29
|
-
for <var>n</var> = 7.\r\n</p>\r\n"
|
data/data/problems/439.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 439
|
3
|
-
:name: Sum of sum of divisors
|
4
|
-
:url: http://projecteuler.net/problem=439
|
5
|
-
:content: "\r\n<p>Let <var>d</var>(<var>k</var>) be the sum of all divisors of <var>k</var>.<br>\r\nWe
|
6
|
-
define the function S(<var>N</var>) = <img src=\"images/symbol_sum.gif\" width=\"11\"
|
7
|
-
height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\"><sub>1<img
|
8
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var><img
|
9
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>N</var></sub><img
|
10
|
-
src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
|
11
|
-
style=\"vertical-align:middle;\"><sub>1<img src=\"images/symbol_le.gif\" width=\"10\"
|
12
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>j</var><img
|
13
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>N</var></sub><var>d</var>(<var>i</var>·<var>j</var>).<br>\r\nFor
|
14
|
-
example, S(3) = <var>d</var>(1) + <var>d</var>(2) + <var>d</var>(3) + <var>d</var>(2)
|
15
|
-
+ <var>d</var>(4) + <var>d</var>(6) + <var>d</var>(3) + <var>d</var>(6) + <var>d</var>(9)
|
16
|
-
= 59.</p>\r\n\r\n<p>You are given that S(10<sup>3</sup>) = 563576517282 and S(10<sup>5</sup>)
|
17
|
-
mod 10<sup>9</sup> = 215766508.<br>\r\nFind S(10<sup>11</sup>) mod 10<sup>9</sup>.</p>\r\n\r\n"
|
data/data/problems/440.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 440
|
3
|
-
:name: GCD and Tiling
|
4
|
-
:url: http://projecteuler.net/problem=440
|
5
|
-
:content: "\r\n<p>We want to tile a board of length <var>n</var> and height 1 completely,
|
6
|
-
with either 1 <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\"
|
7
|
-
border=\"0\" style=\"vertical-align:middle;\"> 2 blocks or 1 <img src=\"images/symbol_times.gif\"
|
8
|
-
width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">
|
9
|
-
1 blocks with a single decimal digit on top:</p>\r\n\r\n<img src=\"project/images/p440_tiles.png\"><p>For
|
10
|
-
example, here are some of the ways to tile a board of length <var>n</var> = 8:</p>\r\n\r\n<img
|
11
|
-
src=\"project/images/p440_some8.png\"><p>Let T(<var>n</var>) be the number of ways
|
12
|
-
to tile a board of length <var>n</var> as described above.</p>\r\n\r\n<p>For example,
|
13
|
-
T(1) = 10 and T(2) = 101.</p>\r\n\r\n<p>Let S(<var>L</var>) be the triple sum <img
|
14
|
-
src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
|
15
|
-
style=\"vertical-align:middle;\"><sub><var>a</var>,<var>b</var>,<var>c</var></sub>
|
16
|
-
gcd(T(<var>c</var><sup><var>a</var></sup>), T(<var>c</var><sup><var>b</var></sup>))
|
17
|
-
for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\"><var>a</var>, <var>b</var>, <var>c</var> <img src=\"images/symbol_le.gif\"
|
19
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>L</var>.<br>\r\nFor
|
20
|
-
example:<br>\r\nS(2) = 10444<br>\r\nS(3) = 1292115238446807016106539989<br>\r\nS(4)
|
21
|
-
mod 987 898 789 = 670616280.</p>\r\n\r\n<p>Find S(2000) mod 987 898 789.</p>\r\n"
|
data/data/problems/441.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 441
|
3
|
-
:name: The inverse summation of coprime couples
|
4
|
-
:url: http://projecteuler.net/problem=441
|
5
|
-
:content: "\r\n<p>\r\nFor an integer <var>M</var>, we define R(<var>M</var>) as the
|
6
|
-
sum of 1/(<var>p</var>·<var>q</var>) for all the integer pairs <var>p</var> and
|
7
|
-
<var>q</var> which satisfy all of these conditions:\r\n</p>\r\n<ul>\n<li> 1 <img
|
8
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>p</var>
|
9
|
-
<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\" border=\"0\"
|
10
|
-
style=\"vertical-align:middle;\"><var>q</var> <img src=\"images/symbol_le.gif\"
|
11
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>M</var>\n</li>\r\n<li>
|
12
|
-
<var>p</var> + <var>q</var> <img src=\"images/symbol_ge.gif\" width=\"10\" height=\"12\"
|
13
|
-
alt=\"≥\" border=\"0\" style=\"vertical-align:middle;\"><var>M</var>\n</li>\r\n<li>
|
14
|
-
<var>p</var> and <var>q</var> are coprime.</li>\r\n</ul>\n<p>\r\nWe also define
|
15
|
-
S(<var>N</var>) as the sum of R(<var>i</var>) for 2 <img src=\"images/symbol_le.gif\"
|
16
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var>
|
17
|
-
<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\"><var>N</var>.<br>\r\nWe can verify that S(2) =
|
19
|
-
R(2) = 1/2, S(10) <img src=\"images/symbol_asymp.gif\" width=\"11\" height=\"9\"
|
20
|
-
alt=\"≈\" border=\"0\" style=\"vertical-align:middle;\"> 6.9147 and S(100) <img
|
21
|
-
src=\"images/symbol_asymp.gif\" width=\"11\" height=\"9\" alt=\"≈\" border=\"0\"
|
22
|
-
style=\"vertical-align:middle;\"> 58.2962.\r\n</p>\r\n<p>\r\nFind S(10<sup>7</sup>).
|
23
|
-
Give your answer rounded to four decimal places.\r\n</p>\r\n"
|
data/data/problems/442.yml
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 442
|
3
|
-
:name: Eleven-free integers
|
4
|
-
:url: http://projecteuler.net/problem=442
|
5
|
-
:content: "\r\n<p>An integer is called <i>eleven-free</i> if its decimal expansion
|
6
|
-
does not contain any substring representing a power of 11 except 1.</p>\r\n\r\n<p>For
|
7
|
-
example, 2404 and 13431 are eleven-free, while 911 and 4121331 are not.</p>\r\n\r\n<p>Let
|
8
|
-
E(<i>n</i>) be the <i>n</i>th positive eleven-free integer. For example, E(3) =
|
9
|
-
3, E(200) = 213 and E(500 000) = 531563.</p>\r\n\r\n<p>Find E(10<sup>18</sup>).</p>\r\n\r\n"
|
data/data/problems/443.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 443
|
3
|
-
:name: GCD sequence
|
4
|
-
:url: http://projecteuler.net/problem=443
|
5
|
-
:content: "\r\n<p>Let g(<var>n</var>) be a sequence defined as follows:<br>\r\ng(4)
|
6
|
-
= 13,<br>\r\ng(<var>n</var>) = g(<var>n</var>-1) + gcd(<var>n</var>, g(<var>n</var>-1))
|
7
|
-
for <var>n</var> <img src=\"images/symbol_gt.gif\" width=\"10\" height=\"10\" alt=\">\"
|
8
|
-
border=\"0\" style=\"vertical-align:middle;\"> 4.</p>\r\n\r\n<p>The first few values
|
9
|
-
are:</p>\r\n<div align=\"center\">\r\n <table cellspacing=\"1\" cellpadding=\"5\"
|
10
|
-
border=\"0\" align=\"center\">\n<tr>\n<td><var>n</var></td>\n<td>4</td>\n<td>5</td>\n<td>6</td>\n<td>7</td>\n<td>8</td>\n<td>9</td>\n<td>10</td>\n<td>11</td>\n<td>12</td>\n<td>13</td>\n<td>14</td>\n<td>15</td>\n<td>16</td>\n<td>17</td>\n<td>18</td>\n<td>19</td>\n<td>20</td>\n<td>...</td>\r\n
|
11
|
-
\ </tr>\n<tr>\n<td>g(<var>n</var>)</td>\n<td>13</td>\n<td>14</td>\n<td>16</td>\n<td>17</td>\n<td>18</td>\n<td>27</td>\n<td>28</td>\n<td>29</td>\n<td>30</td>\n<td>31</td>\n<td>32</td>\n<td>33</td>\n<td>34</td>\n<td>51</td>\n<td>54</td>\n<td>55</td>\n<td>60</td>\n<td>...</td>\r\n
|
12
|
-
\ </tr>\n</table>\n</div>\r\n\r\n<p>You are given that g(1 000) = 2524 and g(1 000 000)
|
13
|
-
= 2624152.</p>\r\n\r\n<p>Find g(10<sup>15</sup>).</p>\r\n"
|
data/data/problems/444.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 444
|
3
|
-
:name: The Roundtable Lottery
|
4
|
-
:url: http://projecteuler.net/problem=444
|
5
|
-
:content: "\r\n<p>A group of <var>p</var> people decide to sit down at a round table
|
6
|
-
and play a lottery-ticket trading game. Each person starts off with a randomly-assigned,
|
7
|
-
unscratched lottery ticket. Each ticket, when scratched, reveals a whole-pound prize
|
8
|
-
ranging anywhere from £1 to £<var>p</var>, with no two tickets alike. The goal of
|
9
|
-
the game is for each person to maximize his ticket winnings upon leaving the game.</p>\r\n\r\n<p>An
|
10
|
-
arbitrary person is chosen to be the first player. Going around the table, each
|
11
|
-
player has only one of two options:</p>\r\n\r\n<p>1. The player can scratch his
|
12
|
-
ticket and reveal its worth to everyone at the table.<br>\r\n2. The player can trade
|
13
|
-
his unscratched ticket for a previous player's scratched ticket, and then leave
|
14
|
-
the game with that ticket. The previous player then scratches his newly-acquired
|
15
|
-
ticket and reveals its worth to everyone at the table.</p>\r\n\r\n<p>The game ends
|
16
|
-
once all tickets have been scratched. All players still remaining at the table must
|
17
|
-
leave with their currently-held tickets.</p>\r\n\r\n<p>Assume that each player uses
|
18
|
-
the optimal strategy for maximizing the expected value of his ticket winnings. </p>\r\n\r\n<p>Let
|
19
|
-
E(<var>p</var>) represent the expected number of players left at the table when
|
20
|
-
the game ends in a game consisting of <var>p</var> players (e.g. E(111) = 5.2912
|
21
|
-
when rounded to 5 significant digits).</p>\r\n\r\n<p>Let S<sub>1</sub>(<var>N</var>)
|
22
|
-
= <img style=\"vertical-align:middle\" src=\"project/images/p444_sum.png\"> E(<var>p</var>)<br>\r\nLet
|
23
|
-
S<sub><var>k</var></sub>(<var>N</var>) = <img style=\"vertical-align:middle\" src=\"project/images/p444_sum.png\">
|
24
|
-
S<sub><var>k</var>-1</sub>(<var>p</var>) for <var>k</var> <img src=\"images/symbol_gt.gif\"
|
25
|
-
width=\"10\" height=\"10\" alt=\">\" border=\"0\" style=\"vertical-align:middle;\">
|
26
|
-
1</p>\r\n\r\n<p>Find S<sub>20</sub>(10<sup>14</sup>) and write the answer in scientific
|
27
|
-
notation rounded to 10 significant digits. Use a lowercase e to separate mantissa
|
28
|
-
and exponent (e.g. S<sub>3</sub>(100) = 5.983679014e5).</p>\r\n\r\n"
|
data/data/problems/445.yml
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 445
|
3
|
-
:name: Retractions A
|
4
|
-
:url: http://projecteuler.net/problem=445
|
5
|
-
:content: "\r\n<p>\r\nFor every integer n<img src=\"images/symbol_gt.gif\" width=\"10\"
|
6
|
-
height=\"10\" alt=\">\" border=\"0\" style=\"vertical-align:middle;\">1, the
|
7
|
-
family of functions f<sub>n,a,b</sub> is defined \r\nby f<sub>n,a,b</sub>(<var>x</var>)<img
|
8
|
-
src=\"images/symbol_cong.gif\" width=\"9\" height=\"11\" alt=\"≡\" border=\"0\"
|
9
|
-
style=\"vertical-align:middle;\">a<var>x</var>+b mod n for a,b,<var>x</var> integer
|
10
|
-
and 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\"
|
11
|
-
border=\"0\" style=\"vertical-align:middle;\">a<img src=\"images/symbol_lt.gif\"
|
12
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n,
|
13
|
-
0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
14
|
-
style=\"vertical-align:middle;\">b<img src=\"images/symbol_lt.gif\" width=\"10\"
|
15
|
-
height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n, 0<img
|
16
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img
|
17
|
-
src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\">n.<br>\r\nWe will call f<sub>n,a,b</sub> a <i>retraction</i>
|
19
|
-
if f<sub>n,a,b</sub>(f<sub>n,a,b</sub>(<var>x</var>))<img src=\"images/symbol_cong.gif\"
|
20
|
-
width=\"9\" height=\"11\" alt=\"≡\" border=\"0\" style=\"vertical-align:middle;\">f<sub>n,a,b</sub>(<var>x</var>)
|
21
|
-
mod n for every 0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
|
22
|
-
border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img src=\"images/symbol_lt.gif\"
|
23
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n.<br>\r\nLet
|
24
|
-
R(n) be the number of retractions for n.\r\n</p>\r\n<p>\r\nYou are given that<br><img
|
25
|
-
src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
|
26
|
-
style=\"vertical-align:middle;\"> R(c) for c=C(100 000,k), and 1 <img src=\"images/symbol_le.gif\"
|
27
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
28
|
-
k <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
29
|
-
style=\"vertical-align:middle;\">99 999 <img src=\"images/symbol_cong.gif\" width=\"9\"
|
30
|
-
height=\"11\" alt=\"≡\" border=\"0\" style=\"vertical-align:middle;\">628701600
|
31
|
-
(mod 1 000 000 007).<br>\r\n(C(n,k) is the binomial coefficient).<br></p>\r\n<p>
|
32
|
-
\r\nFind <img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\"
|
33
|
-
border=\"0\" style=\"vertical-align:middle;\"> R(c) for c=C(10 000 000,k), and 1
|
34
|
-
<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
35
|
-
style=\"vertical-align:middle;\">k<img src=\"images/symbol_le.gif\" width=\"10\"
|
36
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 9 999 999.<br>\r\nGive
|
37
|
-
your answer modulo 1 000 000 007.\r\n</p>\r\n\r\n"
|
data/data/problems/446.yml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 446
|
3
|
-
:name: Retractions B
|
4
|
-
:url: http://projecteuler.net/problem=446
|
5
|
-
:content: "\r\n<p>\r\nFor every integer n<img src=\"images/symbol_gt.gif\" width=\"10\"
|
6
|
-
height=\"10\" alt=\">\" border=\"0\" style=\"vertical-align:middle;\">1, the
|
7
|
-
family of functions f<sub>n,a,b</sub> is defined \r\nby f<sub>n,a,b</sub>(<var>x</var>)<img
|
8
|
-
src=\"images/symbol_cong.gif\" width=\"9\" height=\"11\" alt=\"≡\" border=\"0\"
|
9
|
-
style=\"vertical-align:middle;\">a<var>x</var>+b mod n for a,b,<var>x</var> integer
|
10
|
-
and 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\"
|
11
|
-
border=\"0\" style=\"vertical-align:middle;\">a<img src=\"images/symbol_lt.gif\"
|
12
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n,
|
13
|
-
0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
14
|
-
style=\"vertical-align:middle;\">b<img src=\"images/symbol_lt.gif\" width=\"10\"
|
15
|
-
height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n, 0<img
|
16
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img
|
17
|
-
src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\">n.<br>\r\nWe will call f<sub>n,a,b</sub> a <i>retraction</i>
|
19
|
-
if f<sub>n,a,b</sub>(f<sub>n,a,b</sub>(<var>x</var>))<img src=\"images/symbol_cong.gif\"
|
20
|
-
width=\"9\" height=\"11\" alt=\"≡\" border=\"0\" style=\"vertical-align:middle;\">f<sub>n,a,b</sub>(<var>x</var>)
|
21
|
-
mod n for every 0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
|
22
|
-
border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img src=\"images/symbol_lt.gif\"
|
23
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n.<br>\r\nLet
|
24
|
-
R(n) be the number of retractions for n.\r\n</p>\r\n<p>\r\nF(N)=<img src=\"images/symbol_sum.gif\"
|
25
|
-
width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">R(n<sup>4</sup>+4)
|
26
|
-
for 1<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
27
|
-
style=\"vertical-align:middle;\">n<img src=\"images/symbol_le.gif\" width=\"10\"
|
28
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">N. <br> \r\nF(1024)=77532377300600.<br></p>\r\n<p>\r\nFind
|
29
|
-
F(10<sup>7</sup>) (mod 1 000 000 007)\r\n\r\n</p>"
|
data/data/problems/447.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 447
|
3
|
-
:name: Retractions C
|
4
|
-
:url: http://projecteuler.net/problem=447
|
5
|
-
:content: "\r\n<p>\r\nFor every integer n<img src=\"images/symbol_gt.gif\" width=\"10\"
|
6
|
-
height=\"10\" alt=\">\" border=\"0\" style=\"vertical-align:middle;\">1, the
|
7
|
-
family of functions f<sub>n,a,b</sub> is defined \r\nby f<sub>n,a,b</sub>(<var>x</var>)<img
|
8
|
-
src=\"images/symbol_cong.gif\" width=\"9\" height=\"11\" alt=\"≡\" border=\"0\"
|
9
|
-
style=\"vertical-align:middle;\">a<var>x</var>+b mod n for a,b,<var>x</var> integer
|
10
|
-
and 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\"
|
11
|
-
border=\"0\" style=\"vertical-align:middle;\">a<img src=\"images/symbol_lt.gif\"
|
12
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n,
|
13
|
-
0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
14
|
-
style=\"vertical-align:middle;\">b<img src=\"images/symbol_lt.gif\" width=\"10\"
|
15
|
-
height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n, 0<img
|
16
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img
|
17
|
-
src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"<\" border=\"0\"
|
18
|
-
style=\"vertical-align:middle;\">n.<br>\r\nWe will call f<sub>n,a,b</sub> a <i>retraction</i>
|
19
|
-
if f<sub>n,a,b</sub>(f<sub>n,a,b</sub>(<var>x</var>))<img src=\"images/symbol_cong.gif\"
|
20
|
-
width=\"9\" height=\"11\" alt=\"≡\" border=\"0\" style=\"vertical-align:middle;\">f<sub>n,a,b</sub>(<var>x</var>)
|
21
|
-
mod n for every 0<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
|
22
|
-
border=\"0\" style=\"vertical-align:middle;\"><var>x</var><img src=\"images/symbol_lt.gif\"
|
23
|
-
width=\"10\" height=\"10\" alt=\"<\" border=\"0\" style=\"vertical-align:middle;\">n.<br>\r\nLet
|
24
|
-
R(n) be the number of retractions for n.\r\n</p>\r\n<p>\r\nF(N)=<img src=\"images/symbol_sum.gif\"
|
25
|
-
width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">R(n)
|
26
|
-
for 2<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
27
|
-
style=\"vertical-align:middle;\">n<img src=\"images/symbol_le.gif\" width=\"10\"
|
28
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">N.<br>\r\nF(10<sup>7</sup>)<img
|
29
|
-
src=\"images/symbol_cong.gif\" width=\"9\" height=\"11\" alt=\"≡\" border=\"0\"
|
30
|
-
style=\"vertical-align:middle;\">638042271 (mod 1 000 000 007).\r\n</p>\r\n<p> \r\nFind
|
31
|
-
F(10<sup>14</sup>) (mod 1 000 000 007).\r\n</p>\r\n\r\n\r\n"
|
data/data/problems/448.yml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 448
|
3
|
-
:name: Average least common multiple
|
4
|
-
:url: http://projecteuler.net/problem=448
|
5
|
-
:content: "\r\n<p>\r\nThe function <b>lcm</b>(a,b) denotes the least common multiple
|
6
|
-
of a and b.<br>\r\nLet A(n) be the average of the values of lcm(n,i) for 1<img src=\"images/symbol_le.gif\"
|
7
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">i<img
|
8
|
-
src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">n.<br>\r\nE.g:
|
9
|
-
A(2)=(2+2)/2=2 and A(10)=(10+10+30+20+10+30+70+40+90+10)/10=32. \r\n</p>\r\nLet
|
10
|
-
S(n)=<img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
|
11
|
-
style=\"vertical-align:middle;\">A(k) for 1<img src=\"images/symbol_le.gif\" width=\"10\"
|
12
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">k<img src=\"images/symbol_le.gif\"
|
13
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">n.<br>\r\nS(100)=122726.\r\n\r\n<p>\r\nFind
|
14
|
-
S(99999999019) mod 999999017.\r\n</p>\r\n"
|
data/data/problems/449.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 449
|
3
|
-
:name: Chocolate covered candy
|
4
|
-
:url: http://projecteuler.net/problem=449
|
5
|
-
:content: "\r\n<p>Phil the confectioner is making a new batch of chocolate covered
|
6
|
-
candy. Each candy centre is shaped like an ellipsoid of revolution defined by the
|
7
|
-
equation: b<sup>2</sup><var>x</var><sup>2</sup> + b<sup>2</sup><var>y</var><sup>2</sup>
|
8
|
-
+ a<sup>2</sup><var>z</var><sup>2</sup> = a<sup>2</sup>b<sup>2</sup>.\r\n</p>\r\n<p>\r\nPhil
|
9
|
-
wants to know how much chocolate is needed to cover one candy centre with a uniform
|
10
|
-
coat of chocolate one millimeter thick.\r\n</p>\n<table class=\"formula\"><tr>\n<td>If
|
11
|
-
a=1 mm and b=1 mm, the amount of chocolate required is \r\n </td>\r\n <td><table
|
12
|
-
class=\"frac\">\n<tr><td>28</td></tr>\n<tr><td class=\"overline\">3</td></tr>\n</table></td>\r\n
|
13
|
-
\ <td>π mm<sup>3</sup>\n</td>\r\n</tr></table>\r\nIf a=2 mm and b=1 mm, the amount
|
14
|
-
of chocolate required is approximately 60.35475635 mm<sup>3</sup>.\r\n\r\n<p>\r\nFind
|
15
|
-
the amount of chocolate in mm<sup>3</sup> required if a=3 mm and b=1 mm. Give your
|
16
|
-
answer as the number rounded to 8 decimal places behind the decimal point.</p>\r\n
|
17
|
-
\r\n"
|
data/data/problems/450.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 450
|
3
|
-
:name: Hypocycloid and Lattice points
|
4
|
-
:url: http://projecteuler.net/problem=450
|
5
|
-
:content: "\r\n<p>\r\nA hypocycloid is the curve drawn by a point on a small circle
|
6
|
-
rolling inside a larger circle. The parametric equations of a hypocycloid centered
|
7
|
-
at the origin, and starting at the right most point is given by:</p>\n<p style=\"text-align:center\">\r\n$x(t)
|
8
|
-
= (R - r) \\cos(t) + r \\cos(\\frac {R - r} r t)$<br>\r\n$y(t) = (R - r) \\sin(t)
|
9
|
-
- r \\sin(\\frac {R - r} r t)$</p>\n<p>\r\nWhere <var>R</var> is the radius of the
|
10
|
-
large circle and <var>r</var> the radius of the small circle.\r\n</p>\r\n<p>\r\nLet
|
11
|
-
$C(R, r)$ be the set of distinct points with integer coordinates on the hypocycloid
|
12
|
-
with radius <var>R</var> and <var>r</var> and for which there is a corresponding
|
13
|
-
value of <var>t</var> such that $\\sin(t)$ and $\\cos(t)$ are rational numbers.</p>\r\n<p>\r\nLet
|
14
|
-
$S(R, r) = \\sum_{(x,y) \\in C(R, r)} |x| + |y|$ be the sum of the absolute values
|
15
|
-
of the <var>x</var> and <var>y</var> coordinates of the points in $C(R, r)$.</p>\r\n<p>\r\n\r\nLet
|
16
|
-
$T(N) = \\sum_{R = 3}^N \\sum_{r=1}^{\\lfloor \\frac {R - 1} 2 \\rfloor} S(R, r)$
|
17
|
-
be the sum of $S(R, r)$ for <var>R</var> and <var>r</var> positive integers, $R\\leq
|
18
|
-
N$ and $2r \r\n</p>\n<p>\r\n\r\nYou are given:<br><var>C</var>(3, 1) = {(3, 0),
|
19
|
-
(-1, 2), (-1,0), (-1,-2)}<br><br><var>C</var>(2500, 1000) =<br></p>\n<ul>\r\n {(2500,
|
20
|
-
0), (772, 2376), (772, -2376), (516, 1792),\r\n (516, -1792), (500, 0), (68, 504),
|
21
|
-
(68, -504),<br>(-1356, 1088), (-1356, -1088), (-1500, 1000), (-1500, -1000)}</ul>\n<i>Note:
|
22
|
-
(-625, 0) is not an element of C(2500, 1000) because $\\sin(t)$ is not a rational
|
23
|
-
number for the corresponding values of <var>t</var>.</i>\r\n\r\n<p>\r\n<var>S</var>(3,
|
24
|
-
1) = (|3| + |0|) + (|-1| + |2|) + (|-1| + |0|) + (|-1| + |-2|) = 10</p>\r\n<p>\r\n<var>T</var>(3)
|
25
|
-
= 10; <var>T</var>(10) = 524 ;<var>T</var>(100) = 580442; <var>T</var>(10<sup>3</sup>)
|
26
|
-
= 583108600.\r\n</p>\r\n<p>\r\nFind <var>T</var>(10<sup>6</sup>).\r\n</p>\r\n\r\n\r\n"
|
data/data/problems/451.yml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 451
|
3
|
-
:name: Modular inverses
|
4
|
-
:url: http://projecteuler.net/problem=451
|
5
|
-
:content: "\r\n<p>\r\nConsider the number 15.<br>\r\nThere are eight positive numbers
|
6
|
-
less than 15 which are coprime to 15: 1, 2, 4, 7, 8, 11, 13, 14.<br>\r\nThe modular
|
7
|
-
inverses of these numbers modulo 15 are: 1, 8, 4, 13, 2, 11, 7, 14<br> \r\nbecause<br>\r\n1*1
|
8
|
-
mod 15=1<br>\r\n2*8=16 mod 15=1<br>\r\n4*4=16 mod 15=1<br>\r\n7*13=91 mod 15=1<br>\r\n11*11=121
|
9
|
-
mod 15=1<br>\r\n14*14=196 mod 15=1<br></p>\r\n<p>\r\nLet I(n) be the largest positive
|
10
|
-
number m smaller than n-1 such that the modular inverse of m modulo n equals m itself.<br>\r\nSo
|
11
|
-
I(15)=11.<br>\r\nAlso I(100)=51 and I(7)=1.<br></p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\"
|
12
|
-
width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">I(n)
|
13
|
-
for 3<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
14
|
-
style=\"vertical-align:middle;\">n<img src=\"images/symbol_le.gif\" width=\"10\"
|
15
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">2·10<sup>7</sup></p>"
|
data/data/problems/452.yml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 452
|
3
|
-
:name: Long Products
|
4
|
-
:url: http://projecteuler.net/problem=452
|
5
|
-
:content: "\r\n<p>Define F(<var>m</var>,<var>n</var>) as the number of <var>n</var>-tuples
|
6
|
-
of positive integers for which the product of the elements doesn't exceed <var>m</var>.</p>\r\n<p>F(10,
|
7
|
-
10) = 571.</p>\r\n<p>F(10<sup>6</sup>, 10<sup>6</sup>) mod 1 234 567 891 = 252903833.</p>\r\n<p>Find
|
8
|
-
F(10<sup>9</sup>, 10<sup>9</sup>) mod 1 234 567 891.</p>\r\n\r\n"
|
data/data/problems/453.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 453
|
3
|
-
:name: Lattice Quadrilaterals
|
4
|
-
:url: http://projecteuler.net/problem=453
|
5
|
-
:content: "\r\n<p>A <b>simple quadrilateral</b> is a polygon that has four distinct
|
6
|
-
vertices, has no straight angles and does not self-intersect.</p>\r\n\r\n<p>Let
|
7
|
-
Q(m, n) be the number of simple quadrilaterals whose vertices are lattice points
|
8
|
-
with coordinates (x,y) satisfying 0 <img src=\"images/symbol_le.gif\" width=\"10\"
|
9
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> x <img src=\"images/symbol_le.gif\"
|
10
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
11
|
-
m and 0 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
12
|
-
style=\"vertical-align:middle;\"> y <img src=\"images/symbol_le.gif\" width=\"10\"
|
13
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> n.</p>\r\n\r\n<p>For
|
14
|
-
example, Q(2, 2) = 94 as can be seen below:</p>\r\n<p align=\"center\"><img src=\"project/images/p453_quad.png\"></p>\r\n<p>It
|
15
|
-
can also be verified that Q(3, 7) = 39590, Q(12, 3) = 309000 and Q(123, 45) = 70542215894646.</p>\r\n\r\n<p>Find
|
16
|
-
Q(12345, 6789) mod 135707531.</p>\r\n"
|
data/data/problems/454.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 454
|
3
|
-
:name: Diophantine reciprocals III
|
4
|
-
:url: http://projecteuler.net/problem=454
|
5
|
-
:content: "\r\n<p>In the following equation <var>x</var>, <var>y</var>, and <var>n</var>
|
6
|
-
are positive integers.</p>\r\n<div style=\"text-align:center;\">\r\n<table align=\"center\"><tr>\n<td><div
|
7
|
-
style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\" width=\"15\"
|
8
|
-
height=\"1\" alt=\"\"><br><var>x</var>\n</div></td>\r\n<td> + </td>\r\n<td><div
|
9
|
-
style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\" width=\"15\"
|
10
|
-
height=\"1\" alt=\"\"><br><var>y</var>\n</div></td>\r\n<td> = </td>\r\n<td><div
|
11
|
-
style=\"text-align:center;\">1<br><img src=\"images/blackdot.gif\" width=\"15\"
|
12
|
-
height=\"1\" alt=\"\"><br><var>n</var>\n</div></td>\r\n</tr></table>\n</div>\r\n<p>For
|
13
|
-
a limit <var>L</var> we define F(<var>L</var>) as the number of solutions which
|
14
|
-
satisfy <var>x</var> <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\"
|
15
|
-
alt=\"<\" border=\"0\" style=\"vertical-align:middle;\"><var>y</var> <img src=\"images/symbol_le.gif\"
|
16
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>L</var>.</p>\r\n\r\n<p>We
|
17
|
-
can verify that F(15) = 4 and F(1000) = 1069.<br>\r\nFind F(10<sup>12</sup>).</p>\r\n"
|
data/data/problems/455.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 455
|
3
|
-
:name: Powers With Trailing Digits
|
4
|
-
:url: http://projecteuler.net/problem=455
|
5
|
-
:content: "\r\n<p>Let f(n) be the largest positive integer x less than 10<sup>9</sup>
|
6
|
-
such that the last 9 digits of n<sup>x</sup> form the number <i>x</i> (including
|
7
|
-
leading zeros), or zero if no such integer exists.</p>\r\n\r\n<p>For example:</p>\r\n\r\n<ul>\n<li>f(4)
|
8
|
-
= 411728896 (4<sup>411728896</sup> = ...490<u>411728896</u>) </li>\r\n<li>f(10)
|
9
|
-
= 0</li>\r\n<li>f(157) = 743757 (157<sup>743757</sup> = ...567<u>000743757</u>)</li>\r\n<li>Σf(n),
|
10
|
-
2 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
11
|
-
style=\"vertical-align:middle;\"> n <img src=\"images/symbol_le.gif\" width=\"10\"
|
12
|
-
height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 10<sup>3</sup>
|
13
|
-
= 442530011399</li>\r\n</ul>\n<p>Find Σf(n), 2 <img src=\"images/symbol_le.gif\"
|
14
|
-
width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
|
15
|
-
n <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
|
16
|
-
style=\"vertical-align:middle;\"> 10<sup>6</sup>.</p>\r\n\r\n"
|
data/data/problems/456.yml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:id: 456
|
3
|
-
:name: Triangles containing the origin II
|
4
|
-
:url: http://projecteuler.net/problem=456
|
5
|
-
:content: "\r\n<p>Define:<br><var>x</var><sub><var>n</var></sub> = (1248<sup><var>n</var></sup>
|
6
|
-
mod 32323) - 16161<br><var>y</var><sub><var>n</var></sub> = (8421<sup><var>n</var></sup>
|
7
|
-
mod 30103) - 15051<br>\r\nP<sub><var>n</var></sub> = {(<var>x</var><sub>1</sub>,
|
8
|
-
<var>y</var><sub>1</sub>), (<var>x</var><sub>2</sub>, <var>y</var><sub>2</sub>),
|
9
|
-
..., (<var>x</var><sub><var>n</var></sub>, <var>y</var><sub><var>n</var></sub>)}\r\n</p>\r\n\r\n<p>For
|
10
|
-
example, P<sub>8</sub> = {(-14913, -6630), (-10161, 5625), (5226, 11896), (8340,
|
11
|
-
-10778), (15852, -5203), (-15165, 11295), (-1427, -14495), (12407, 1060)}.</p>\r\n\r\n<p>Let
|
12
|
-
C(<var>n</var>) be the number of triangles whose vertices are in P<sub><var>n</var></sub>
|
13
|
-
which contain the origin in the interior.</p>\r\n\r\n<p>\r\nExamples:<br>\r\nC(8)
|
14
|
-
= 20<br>\r\nC(600) = 8950634<br>\r\nC(40 000) = 2666610948988\r\n</p>\r\n\r\n<p>Find
|
15
|
-
C(2 000 000).\r\n\r\n</p>"
|
data/scripts/update_problems
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# Gets all of the problems from projecteuler.net and serializes them as json
|
4
|
-
# into the data/problems directory. This way http requests do not need to be
|
5
|
-
# each time the manager is asked to describe a problem.
|
6
|
-
|
7
|
-
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
|
8
|
-
|
9
|
-
require 'colorize'
|
10
|
-
require 'nokogiri'
|
11
|
-
require 'open-uri'
|
12
|
-
require 'yaml'
|
13
|
-
|
14
|
-
require 'euler'
|
15
|
-
|
16
|
-
# Number of seconds to wait in the beginning of each iteration of the http request loop
|
17
|
-
sleep_time = 0.5
|
18
|
-
|
19
|
-
puts
|
20
|
-
puts 'Updating project Euler problem specs.'
|
21
|
-
puts
|
22
|
-
|
23
|
-
data_dir = "#{__dir__}/../data"
|
24
|
-
answers_file = "#{data_dir}/answers.yml"
|
25
|
-
problems_dir = "#{data_dir}/problems"
|
26
|
-
|
27
|
-
puts 'Data directory: '.light_black + data_dir.underline
|
28
|
-
puts 'Answers File: '.light_black + answers_file.underline
|
29
|
-
puts 'Problems Directory: '.light_black + problems_dir.underline
|
30
|
-
puts
|
31
|
-
|
32
|
-
problem_ids = YAML.load_file(answers_file).keys
|
33
|
-
problems_count = problem_ids.count
|
34
|
-
problems_count_digits = problems_count.to_s.size
|
35
|
-
|
36
|
-
puts problems_count.to_s.underline + ' Problems will be updated.'
|
37
|
-
puts
|
38
|
-
|
39
|
-
# Fetch problems from projecteuler.net
|
40
|
-
problems = problem_ids.map.with_index do |problem_id, index|
|
41
|
-
zero_padded_index = (index + 1).to_s.rjust(problems_count_digits, '0')
|
42
|
-
zero_padded_problem_id = problem_id.to_s.rjust(problems_count_digits, '0')
|
43
|
-
|
44
|
-
print "(#{zero_padded_index} / #{problems_count}) ##{zero_padded_index}"
|
45
|
-
|
46
|
-
sleep(sleep_time)
|
47
|
-
|
48
|
-
url = "http://projecteuler.net/problem=#{problem_id}"
|
49
|
-
|
50
|
-
doc = Nokogiri::HTML(open(url))
|
51
|
-
problem = Euler::Problem.new({
|
52
|
-
id: problem_id,
|
53
|
-
name: doc.css('h2').first.inner_html,
|
54
|
-
url: url,
|
55
|
-
content: doc.css('.problem_content').first.inner_html
|
56
|
-
})
|
57
|
-
|
58
|
-
print " : " + problem.name.bold.underline
|
59
|
-
|
60
|
-
File.open("#{problems_dir}/#{problem.id}.yml", 'w') do |f|
|
61
|
-
f.write(problem.to_yaml)
|
62
|
-
end
|
63
|
-
|
64
|
-
print " \u2713".encode('utf-8').green.bold
|
65
|
-
puts
|
66
|
-
|
67
|
-
problem
|
68
|
-
end
|