euler-manager 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (618) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +2 -1
  4. data/README.md +27 -21
  5. data/Rakefile +3 -2
  6. data/config/config.rb +6 -2
  7. data/data/answers.yml +431 -430
  8. data/data/images/{p_015.gif → p015.gif} +0 -0
  9. data/data/images/{p_068_1.gif → p068_1.gif} +0 -0
  10. data/data/images/{p_068_2.gif → p068_2.gif} +0 -0
  11. data/data/images/{p_085.gif → p085.gif} +0 -0
  12. data/data/images/{p_086.gif → p086.gif} +0 -0
  13. data/data/images/{p_090.gif → p090.gif} +0 -0
  14. data/data/images/{p_091_1.gif → p091_1.gif} +0 -0
  15. data/data/images/{p_091_2.gif → p091_2.gif} +0 -0
  16. data/data/images/{p_107_1.gif → p107_1.gif} +0 -0
  17. data/data/images/{p_107_2.gif → p107_2.gif} +0 -0
  18. data/data/images/{p_109.gif → p109.gif} +0 -0
  19. data/data/images/{p_126.gif → p126.gif} +0 -0
  20. data/data/images/{p_128.gif → p128.gif} +0 -0
  21. data/data/images/{p_138.gif → p138.gif} +0 -0
  22. data/data/images/{p_139.gif → p139.gif} +0 -0
  23. data/data/images/{p_143_torricelli.gif → p143_torricelli.gif} +0 -0
  24. data/data/images/{p_144_1.gif → p144_1.gif} +0 -0
  25. data/data/images/{p_144_2.gif → p144_2.gif} +0 -0
  26. data/data/images/{p_147.gif → p147.gif} +0 -0
  27. data/data/images/{p_150.gif → p150.gif} +0 -0
  28. data/data/images/{p_151.gif → p151.gif} +0 -0
  29. data/data/images/{p_152_sum.gif → p152_sum.gif} +0 -0
  30. data/data/images/{p_153_formule1.gif → p153_formule1.gif} +0 -0
  31. data/data/images/{p_153_formule2.gif → p153_formule2.gif} +0 -0
  32. data/data/images/{p_153_formule5.gif → p153_formule5.gif} +0 -0
  33. data/data/images/{p_153_formule6.gif → p153_formule6.gif} +0 -0
  34. data/data/images/{p_154_pyramid.gif → p154_pyramid.gif} +0 -0
  35. data/data/images/{p_155_capacitors1.gif → p155_capacitors1.gif} +0 -0
  36. data/data/images/{p_155_capsform.gif → p155_capsform.gif} +0 -0
  37. data/data/images/{p_155_capsmu.gif → p155_capsmu.gif} +0 -0
  38. data/data/images/{p_161_k9.gif → p161_k9.gif} +0 -0
  39. data/data/images/{p_161_trio1.gif → p161_trio1.gif} +0 -0
  40. data/data/images/{p_161_trio3.gif → p161_trio3.gif} +0 -0
  41. data/data/images/{p_163.gif → p163.gif} +0 -0
  42. data/data/images/{p_173_square_laminas.gif → p173_square_laminas.gif} +0 -0
  43. data/data/images/{p_177_quad.gif → p177_quad.gif} +0 -0
  44. data/data/images/{p_184.gif → p184.gif} +0 -0
  45. data/data/images/{p_189_colours.gif → p189_colours.gif} +0 -0
  46. data/data/images/{p_189_grid.gif → p189_grid.gif} +0 -0
  47. data/data/images/{p_194_Fig.png → p194_Fig.png} +0 -0
  48. data/data/images/{p_194_GraphA.png → p194_GraphA.png} +0 -0
  49. data/data/images/{p_194_GraphB.png → p194_GraphB.png} +0 -0
  50. data/data/images/{p_199_circles_in_circles.gif → p199_circles_in_circles.gif} +0 -0
  51. data/data/images/{p_201_laserbeam.gif → p201_laserbeam.gif} +0 -0
  52. data/data/images/{p_208_robotwalk.gif → p208_robotwalk.gif} +0 -0
  53. data/data/images/{p_215_crackfree.gif → p215_crackfree.gif} +0 -0
  54. data/data/images/{p_220.gif → p220.gif} +0 -0
  55. data/data/images/{p_226_formula.gif → p226_formula.gif} +0 -0
  56. data/data/images/{p_226_scoop2.gif → p226_scoop2.gif} +0 -0
  57. data/data/images/{p_228.png → p228.png} +0 -0
  58. data/data/images/{p_237.gif → p237.gif} +0 -0
  59. data/data/images/{p_244_example.gif → p244_example.gif} +0 -0
  60. data/data/images/{p_244_start.gif → p244_start.gif} +0 -0
  61. data/data/images/{p_244_target.gif → p244_target.gif} +0 -0
  62. data/data/images/{p_246_anim.gif → p246_anim.gif} +0 -0
  63. data/data/images/{p_246_ellipse.gif → p246_ellipse.gif} +0 -0
  64. data/data/images/{p_247_hypersquares.gif → p247_hypersquares.gif} +0 -0
  65. data/data/images/{p_251_cardano.gif → p251_cardano.gif} +0 -0
  66. data/data/images/{p_252_convexhole.gif → p252_convexhole.gif} +0 -0
  67. data/data/images/{p_255_Example.gif → p255_Example.gif} +0 -0
  68. data/data/images/{p_255_Heron.gif → p255_Heron.gif} +0 -0
  69. data/data/images/{p_256_tatami3.gif → p256_tatami3.gif} +0 -0
  70. data/data/images/{p_257_bisector.gif → p257_bisector.gif} +0 -0
  71. data/data/images/{p_262_formula1.gif → p262_formula1.gif} +0 -0
  72. data/data/images/{p_264_TriangleCentres.gif → p264_TriangleCentres.gif} +0 -0
  73. data/data/images/{p_265_BinaryCircles.gif → p265_BinaryCircles.gif} +0 -0
  74. data/data/images/{p_270_CutSquare.gif → p270_CutSquare.gif} +0 -0
  75. data/data/images/{p_275_sculptures2.gif → p275_sculptures2.gif} +0 -0
  76. data/data/images/{p_281_pizza.gif → p281_pizza.gif} +0 -0
  77. data/data/images/{p_282_formula.gif → p282_formula.gif} +0 -0
  78. data/data/images/{p_282formula3.gif → p282formula3.gif} +0 -0
  79. data/data/images/{p_287_quadtree.gif → p287_quadtree.gif} +0 -0
  80. data/data/images/{p_289_euler.gif → p289_euler.gif} +0 -0
  81. data/data/images/{p_291_formula.gif → p291_formula.gif} +0 -0
  82. data/data/images/{p_299_ThreeSimTri.gif → p299_ThreeSimTri.gif} +0 -0
  83. data/data/images/{p_300_protein.gif → p300_protein.gif} +0 -0
  84. data/data/images/{p_306_pstrip.gif → p306_pstrip.gif} +0 -0
  85. data/data/images/{p_309_ladders.gif → p309_ladders.gif} +0 -0
  86. data/data/images/{p_311_biclinic.gif → p311_biclinic.gif} +0 -0
  87. data/data/images/{p_312_sierpinsky8t.gif → p312_sierpinsky8t.gif} +0 -0
  88. data/data/images/{p_312_sierpinskyAt.gif → p312_sierpinskyAt.gif} +0 -0
  89. data/data/images/{p_313_sliding_game_1.gif → p313_sliding_game_1.gif} +0 -0
  90. data/data/images/{p_313_sliding_game_2.gif → p313_sliding_game_2.gif} +0 -0
  91. data/data/images/{p_314_landgrab.gif → p314_landgrab.gif} +0 -0
  92. data/data/images/{p_315_clocks.gif → p315_clocks.gif} +0 -0
  93. data/data/images/{p_316_decexp1.gif → p316_decexp1.gif} +0 -0
  94. data/data/images/{p_316_decexp2.gif → p316_decexp2.gif} +0 -0
  95. data/data/images/{p_316_decexp3.gif → p316_decexp3.gif} +0 -0
  96. data/data/images/{p_321_swapping_counters_1.gif → p321_swapping_counters_1.gif} +0 -0
  97. data/data/images/{p_321_swapping_counters_2.gif → p321_swapping_counters_2.gif} +0 -0
  98. data/data/images/{p_326_formula1.gif → p326_formula1.gif} +0 -0
  99. data/data/images/{p_326_formula2.gif → p326_formula2.gif} +0 -0
  100. data/data/images/{p_327_rooms_of_doom.gif → p327_rooms_of_doom.gif} +0 -0
  101. data/data/images/{p_328_sum1.gif → p328_sum1.gif} +0 -0
  102. data/data/images/{p_328_sum2.gif → p328_sum2.gif} +0 -0
  103. data/data/images/{p_330_formula.gif → p330_formula.gif} +0 -0
  104. data/data/images/{p_331_crossflips1.gif → p331_crossflips1.gif} +0 -0
  105. data/data/images/{p_331_crossflips2.gif → p331_crossflips2.gif} +0 -0
  106. data/data/images/{p_331_crossflips3.gif → p331_crossflips3.gif} +0 -0
  107. data/data/images/{p_332_spherical.jpg → p332_spherical.jpg} +0 -0
  108. data/data/images/{p_332_sum.gif → p332_sum.gif} +0 -0
  109. data/data/images/{p_334_beans.gif → p334_beans.gif} +0 -0
  110. data/data/images/{p_334_cases.gif → p334_cases.gif} +0 -0
  111. data/data/images/{p_334_lfloor.gif → p334_lfloor.gif} +0 -0
  112. data/data/images/{p_334_oplus.gif → p334_oplus.gif} +0 -0
  113. data/data/images/{p_334_rfloor.gif → p334_rfloor.gif} +0 -0
  114. data/data/images/{p_335_mancala.gif → p335_mancala.gif} +0 -0
  115. data/data/images/{p_335_sum.gif → p335_sum.gif} +0 -0
  116. data/data/images/{p_336_maximix.gif → p336_maximix.gif} +0 -0
  117. data/data/images/{p_338_gridpaper.gif → p338_gridpaper.gif} +0 -0
  118. data/data/images/{p_340_formula.gif → p340_formula.gif} +0 -0
  119. data/data/images/{p_344_silverdollar.gif → p344_silverdollar.gif} +0 -0
  120. data/data/images/{p_351_hexorchard.png → p351_hexorchard.png} +0 -0
  121. data/data/images/{p_354_bee_honeycomb.png → p354_bee_honeycomb.png} +0 -0
  122. data/data/images/{p_356_cubicpoly1.gif → p356_cubicpoly1.gif} +0 -0
  123. data/data/images/{p_356_cubicpoly2.gif → p356_cubicpoly2.gif} +0 -0
  124. data/data/images/{p_361_Thue-Morse1.gif → p361_Thue-Morse1.gif} +0 -0
  125. data/data/images/p363_bezier.png +0 -0
  126. data/data/images/{p_364_comf_dist.gif → p364_comf_dist.gif} +0 -0
  127. data/data/images/{p_372_pencilray1.jpg → p372_pencilray1.jpg} +0 -0
  128. data/data/images/{p_372_pencilray2.gif → p372_pencilray2.gif} +0 -0
  129. data/data/images/{p_380_mazes.gif → p380_mazes.gif} +0 -0
  130. data/data/images/{p_384_formula.gif → p384_formula.gif} +0 -0
  131. data/data/images/{p_385_ellipsetriangle.png → p385_ellipsetriangle.png} +0 -0
  132. data/data/images/{p_394_eatpie.gif → p394_eatpie.gif} +0 -0
  133. data/data/images/{p_395_pythagorean.gif → p395_pythagorean.gif} +0 -0
  134. data/data/images/{p_404_c_ellipse.gif → p404_c_ellipse.gif} +0 -0
  135. data/data/images/{p_405_tile1.png → p405_tile1.png} +0 -0
  136. data/data/images/{p_405_tile2.gif → p405_tile2.gif} +0 -0
  137. data/data/images/{p_420_matrix.gif → p420_matrix.gif} +0 -0
  138. data/data/images/{p_424_kakuro1.gif → p424_kakuro1.gif} +0 -0
  139. data/data/images/{p_426_baxball1.gif → p426_baxball1.gif} +0 -0
  140. data/data/images/{p_426_baxball2.gif → p426_baxball2.gif} +0 -0
  141. data/data/images/{p_430_flips.gif → p430_flips.gif} +0 -0
  142. data/data/problems/1.yml +1 -1
  143. data/data/problems/10.yml +6 -4
  144. data/data/problems/100.yml +2 -2
  145. data/data/problems/101.yml +15 -19
  146. data/data/problems/102.yml +9 -10
  147. data/data/problems/103.yml +7 -8
  148. data/data/problems/104.yml +2 -2
  149. data/data/problems/105.yml +4 -4
  150. data/data/problems/106.yml +3 -3
  151. data/data/problems/107.yml +12 -12
  152. data/data/problems/108.yml +8 -14
  153. data/data/problems/109.yml +12 -11
  154. data/data/problems/11.yml +21 -24
  155. data/data/problems/110.yml +9 -10
  156. data/data/problems/111.yml +1 -1
  157. data/data/problems/112.yml +1 -1
  158. data/data/problems/113.yml +1 -1
  159. data/data/problems/114.yml +2 -2
  160. data/data/problems/115.yml +1 -1
  161. data/data/problems/116.yml +11 -11
  162. data/data/problems/117.yml +3 -3
  163. data/data/problems/118.yml +1 -1
  164. data/data/problems/119.yml +1 -1
  165. data/data/problems/12.yml +6 -6
  166. data/data/problems/120.yml +4 -4
  167. data/data/problems/121.yml +1 -1
  168. data/data/problems/122.yml +10 -18
  169. data/data/problems/123.yml +3 -3
  170. data/data/problems/124.yml +17 -19
  171. data/data/problems/125.yml +1 -1
  172. data/data/problems/126.yml +12 -11
  173. data/data/problems/127.yml +8 -8
  174. data/data/problems/128.yml +3 -3
  175. data/data/problems/129.yml +1 -1
  176. data/data/problems/13.yml +1 -1
  177. data/data/problems/130.yml +6 -7
  178. data/data/problems/131.yml +2 -2
  179. data/data/problems/132.yml +2 -2
  180. data/data/problems/133.yml +2 -2
  181. data/data/problems/134.yml +3 -3
  182. data/data/problems/135.yml +3 -3
  183. data/data/problems/136.yml +3 -3
  184. data/data/problems/137.yml +9 -9
  185. data/data/problems/138.yml +5 -5
  186. data/data/problems/139.yml +2 -2
  187. data/data/problems/14.yml +8 -13
  188. data/data/problems/140.yml +5 -5
  189. data/data/problems/141.yml +2 -2
  190. data/data/problems/142.yml +3 -4
  191. data/data/problems/143.yml +3 -3
  192. data/data/problems/144.yml +4 -4
  193. data/data/problems/145.yml +1 -1
  194. data/data/problems/146.yml +1 -1
  195. data/data/problems/147.yml +6 -6
  196. data/data/problems/148.yml +8 -8
  197. data/data/problems/149.yml +12 -25
  198. data/data/problems/15.yml +4 -4
  199. data/data/problems/150.yml +16 -17
  200. data/data/problems/151.yml +3 -3
  201. data/data/problems/152.yml +2 -2
  202. data/data/problems/153.yml +30 -35
  203. data/data/problems/154.yml +16 -12
  204. data/data/problems/155.yml +7 -6
  205. data/data/problems/156.yml +8 -9
  206. data/data/problems/157.yml +4 -6
  207. data/data/problems/158.yml +12 -12
  208. data/data/problems/159.yml +14 -16
  209. data/data/problems/16.yml +1 -1
  210. data/data/problems/160.yml +3 -3
  211. data/data/problems/161.yml +6 -6
  212. data/data/problems/162.yml +3 -3
  213. data/data/problems/163.yml +3 -3
  214. data/data/problems/164.yml +3 -4
  215. data/data/problems/165.yml +12 -12
  216. data/data/problems/166.yml +6 -8
  217. data/data/problems/167.yml +6 -7
  218. data/data/problems/168.yml +5 -7
  219. data/data/problems/169.yml +2 -2
  220. data/data/problems/17.yml +5 -5
  221. data/data/problems/170.yml +9 -10
  222. data/data/problems/171.yml +4 -5
  223. data/data/problems/172.yml +3 -4
  224. data/data/problems/173.yml +2 -2
  225. data/data/problems/174.yml +4 -4
  226. data/data/problems/175.yml +12 -13
  227. data/data/problems/176.yml +1 -1
  228. data/data/problems/177.yml +2 -2
  229. data/data/problems/178.yml +6 -6
  230. data/data/problems/179.yml +4 -4
  231. data/data/problems/18.yml +11 -12
  232. data/data/problems/180.yml +9 -12
  233. data/data/problems/181.yml +1 -1
  234. data/data/problems/182.yml +14 -16
  235. data/data/problems/183.yml +12 -15
  236. data/data/problems/184.yml +3 -3
  237. data/data/problems/185.yml +11 -11
  238. data/data/problems/186.yml +10 -11
  239. data/data/problems/187.yml +8 -8
  240. data/data/problems/188.yml +4 -4
  241. data/data/problems/189.yml +4 -4
  242. data/data/problems/19.yml +1 -1
  243. data/data/problems/190.yml +2 -2
  244. data/data/problems/191.yml +5 -5
  245. data/data/problems/192.yml +10 -14
  246. data/data/problems/193.yml +1 -1
  247. data/data/problems/194.yml +10 -10
  248. data/data/problems/195.yml +5 -6
  249. data/data/problems/196.yml +15 -14
  250. data/data/problems/197.yml +7 -8
  251. data/data/problems/198.yml +8 -14
  252. data/data/problems/199.yml +3 -3
  253. data/data/problems/2.yml +8 -7
  254. data/data/problems/20.yml +4 -9
  255. data/data/problems/200.yml +7 -8
  256. data/data/problems/201.yml +14 -14
  257. data/data/problems/202.yml +2 -2
  258. data/data/problems/203.yml +21 -13
  259. data/data/problems/204.yml +7 -7
  260. data/data/problems/205.yml +6 -6
  261. data/data/problems/206.yml +1 -1
  262. data/data/problems/207.yml +10 -10
  263. data/data/problems/208.yml +4 -5
  264. data/data/problems/209.yml +6 -6
  265. data/data/problems/21.yml +7 -7
  266. data/data/problems/210.yml +6 -6
  267. data/data/problems/211.yml +2 -2
  268. data/data/problems/212.yml +16 -20
  269. data/data/problems/213.yml +6 -6
  270. data/data/problems/214.yml +9 -10
  271. data/data/problems/215.yml +5 -5
  272. data/data/problems/216.yml +5 -6
  273. data/data/problems/217.yml +7 -12
  274. data/data/problems/218.yml +9 -10
  275. data/data/problems/219.yml +5 -5
  276. data/data/problems/22.yml +3 -3
  277. data/data/problems/220.yml +15 -16
  278. data/data/problems/221.yml +8 -8
  279. data/data/problems/222.yml +1 -1
  280. data/data/problems/223.yml +5 -6
  281. data/data/problems/224.yml +5 -6
  282. data/data/problems/225.yml +2 -2
  283. data/data/problems/226.yml +8 -9
  284. data/data/problems/227.yml +3 -3
  285. data/data/problems/228.yml +17 -16
  286. data/data/problems/229.yml +16 -19
  287. data/data/problems/23.yml +1 -3
  288. data/data/problems/230.yml +9 -11
  289. data/data/problems/231.yml +5 -8
  290. data/data/problems/232.yml +1 -1
  291. data/data/problems/233.yml +2 -2
  292. data/data/problems/234.yml +11 -13
  293. data/data/problems/235.yml +2 -2
  294. data/data/problems/236.yml +13 -19
  295. data/data/problems/237.yml +4 -4
  296. data/data/problems/238.yml +16 -19
  297. data/data/problems/239.yml +2 -2
  298. data/data/problems/24.yml +2 -2
  299. data/data/problems/240.yml +7 -7
  300. data/data/problems/241.yml +4 -7
  301. data/data/problems/242.yml +5 -6
  302. data/data/problems/243.yml +13 -13
  303. data/data/problems/244.yml +15 -15
  304. data/data/problems/245.yml +8 -20
  305. data/data/problems/246.yml +11 -12
  306. data/data/problems/247.yml +11 -12
  307. data/data/problems/248.yml +1 -1
  308. data/data/problems/249.yml +2 -2
  309. data/data/problems/25.yml +8 -12
  310. data/data/problems/250.yml +4 -4
  311. data/data/problems/251.yml +4 -4
  312. data/data/problems/252.yml +13 -20
  313. data/data/problems/253.yml +9 -8
  314. data/data/problems/254.yml +3 -3
  315. data/data/problems/255.yml +15 -37
  316. data/data/problems/256.yml +19 -24
  317. data/data/problems/257.yml +8 -10
  318. data/data/problems/258.yml +9 -7
  319. data/data/problems/259.yml +1 -1
  320. data/data/problems/26.yml +11 -11
  321. data/data/problems/260.yml +15 -18
  322. data/data/problems/261.yml +15 -13
  323. data/data/problems/262.yml +15 -14
  324. data/data/problems/263.yml +13 -13
  325. data/data/problems/264.yml +10 -11
  326. data/data/problems/265.yml +2 -2
  327. data/data/problems/266.yml +7 -7
  328. data/data/problems/267.yml +1 -1
  329. data/data/problems/268.yml +1 -1
  330. data/data/problems/269.yml +3 -3
  331. data/data/problems/27.yml +12 -15
  332. data/data/problems/270.yml +4 -4
  333. data/data/problems/271.yml +5 -6
  334. data/data/problems/272.yml +5 -7
  335. data/data/problems/273.yml +4 -4
  336. data/data/problems/274.yml +4 -5
  337. data/data/problems/275.yml +4 -4
  338. data/data/problems/276.yml +5 -6
  339. data/data/problems/277.yml +7 -8
  340. data/data/problems/278.yml +16 -19
  341. data/data/problems/279.yml +3 -4
  342. data/data/problems/28.yml +6 -6
  343. data/data/problems/280.yml +2 -2
  344. data/data/problems/281.yml +4 -6
  345. data/data/problems/282.yml +3 -3
  346. data/data/problems/283.yml +6 -7
  347. data/data/problems/284.yml +7 -8
  348. data/data/problems/285.yml +4 -4
  349. data/data/problems/286.yml +2 -2
  350. data/data/problems/287.yml +19 -24
  351. data/data/problems/288.yml +7 -8
  352. data/data/problems/289.yml +11 -11
  353. data/data/problems/29.yml +10 -13
  354. data/data/problems/290.yml +3 -4
  355. data/data/problems/291.yml +4 -4
  356. data/data/problems/292.yml +5 -6
  357. data/data/problems/293.yml +9 -10
  358. data/data/problems/294.yml +12 -7
  359. data/data/problems/295.yml +11 -13
  360. data/data/problems/296.yml +9 -9
  361. data/data/problems/297.yml +7 -9
  362. data/data/problems/298.yml +32 -40
  363. data/data/problems/299.yml +17 -19
  364. data/data/problems/3.yml +6 -4
  365. data/data/problems/30.yml +1 -1
  366. data/data/problems/300.yml +14 -14
  367. data/data/problems/301.yml +9 -10
  368. data/data/problems/302.yml +5 -5
  369. data/data/problems/303.yml +4 -4
  370. data/data/problems/304.yml +7 -9
  371. data/data/problems/305.yml +4 -5
  372. data/data/problems/306.yml +10 -12
  373. data/data/problems/307.yml +4 -4
  374. data/data/problems/308.yml +4 -4
  375. data/data/problems/309.yml +11 -9
  376. data/data/problems/31.yml +2 -2
  377. data/data/problems/310.yml +6 -9
  378. data/data/problems/311.yml +10 -12
  379. data/data/problems/312.yml +10 -9
  380. data/data/problems/313.yml +5 -5
  381. data/data/problems/314.yml +8 -9
  382. data/data/problems/315.yml +35 -38
  383. data/data/problems/316.yml +17 -16
  384. data/data/problems/317.yml +8 -7
  385. data/data/problems/318.yml +14 -29
  386. data/data/problems/319.yml +10 -12
  387. data/data/problems/32.yml +2 -2
  388. data/data/problems/320.yml +2 -2
  389. data/data/problems/321.yml +12 -11
  390. data/data/problems/322.yml +4 -5
  391. data/data/problems/323.yml +7 -9
  392. data/data/problems/324.yml +7 -9
  393. data/data/problems/325.yml +2 -2
  394. data/data/problems/326.yml +3 -3
  395. data/data/problems/327.yml +19 -22
  396. data/data/problems/328.yml +23 -23
  397. data/data/problems/329.yml +6 -6
  398. data/data/problems/33.yml +2 -2
  399. data/data/problems/330.yml +12 -16
  400. data/data/problems/331.yml +16 -18
  401. data/data/problems/332.yml +10 -10
  402. data/data/problems/333.yml +15 -16
  403. data/data/problems/334.yml +17 -19
  404. data/data/problems/335.yml +3 -3
  405. data/data/problems/336.yml +5 -5
  406. data/data/problems/337.yml +7 -8
  407. data/data/problems/338.yml +18 -24
  408. data/data/problems/339.yml +3 -3
  409. data/data/problems/34.yml +1 -1
  410. data/data/problems/340.yml +7 -7
  411. data/data/problems/341.yml +4 -5
  412. data/data/problems/342.yml +6 -9
  413. data/data/problems/343.yml +8 -13
  414. data/data/problems/344.yml +8 -8
  415. data/data/problems/345.yml +17 -16
  416. data/data/problems/346.yml +6 -6
  417. data/data/problems/347.yml +8 -10
  418. data/data/problems/348.yml +5 -5
  419. data/data/problems/349.yml +4 -4
  420. data/data/problems/35.yml +1 -1
  421. data/data/problems/350.yml +5 -6
  422. data/data/problems/351.yml +7 -7
  423. data/data/problems/352.yml +13 -14
  424. data/data/problems/353.yml +2 -2
  425. data/data/problems/354.yml +6 -8
  426. data/data/problems/355.yml +4 -4
  427. data/data/problems/356.yml +5 -4
  428. data/data/problems/357.yml +3 -3
  429. data/data/problems/358.yml +11 -16
  430. data/data/problems/359.yml +12 -12
  431. data/data/problems/36.yml +1 -1
  432. data/data/problems/360.yml +4 -4
  433. data/data/problems/361.yml +9 -9
  434. data/data/problems/362.yml +8 -15
  435. data/data/problems/363.yml +29 -29
  436. data/data/problems/364.yml +4 -4
  437. data/data/problems/365.yml +3 -3
  438. data/data/problems/366.yml +16 -19
  439. data/data/problems/367.yml +11 -11
  440. data/data/problems/368.yml +14 -18
  441. data/data/problems/369.yml +2 -2
  442. data/data/problems/37.yml +1 -1
  443. data/data/problems/370.yml +4 -4
  444. data/data/problems/371.yml +5 -5
  445. data/data/problems/372.yml +6 -7
  446. data/data/problems/373.yml +10 -6
  447. data/data/problems/374.yml +11 -13
  448. data/data/problems/375.yml +11 -14
  449. data/data/problems/376.yml +19 -19
  450. data/data/problems/377.yml +5 -5
  451. data/data/problems/378.yml +8 -9
  452. data/data/problems/379.yml +10 -9
  453. data/data/problems/38.yml +9 -11
  454. data/data/problems/380.yml +8 -10
  455. data/data/problems/381.yml +6 -10
  456. data/data/problems/382.yml +12 -13
  457. data/data/problems/383.yml +5 -6
  458. data/data/problems/384.yml +14 -18
  459. data/data/problems/385.yml +12 -14
  460. data/data/problems/386.yml +4 -5
  461. data/data/problems/387.yml +13 -14
  462. data/data/problems/388.yml +6 -6
  463. data/data/problems/389.yml +3 -3
  464. data/data/problems/39.yml +2 -2
  465. data/data/problems/390.yml +12 -8
  466. data/data/problems/391.yml +18 -20
  467. data/data/problems/392.yml +9 -9
  468. data/data/problems/393.yml +8 -8
  469. data/data/problems/394.yml +14 -15
  470. data/data/problems/395.yml +16 -15
  471. data/data/problems/396.yml +13 -16
  472. data/data/problems/397.yml +4 -6
  473. data/data/problems/398.yml +8 -9
  474. data/data/problems/399.yml +18 -19
  475. data/data/problems/4.yml +2 -2
  476. data/data/problems/40.yml +2 -2
  477. data/data/problems/400.yml +10 -9
  478. data/data/problems/401.yml +6 -7
  479. data/data/problems/402.yml +7 -9
  480. data/data/problems/403.yml +9 -10
  481. data/data/problems/404.yml +8 -10
  482. data/data/problems/405.yml +10 -10
  483. data/data/problems/406.yml +24 -30
  484. data/data/problems/407.yml +6 -10
  485. data/data/problems/408.yml +10 -10
  486. data/data/problems/409.yml +12 -7
  487. data/data/problems/41.yml +1 -1
  488. data/data/problems/410.yml +5 -6
  489. data/data/problems/411.yml +10 -13
  490. data/data/problems/412.yml +10 -10
  491. data/data/problems/413.yml +6 -7
  492. data/data/problems/414.yml +26 -28
  493. data/data/problems/415.yml +12 -13
  494. data/data/problems/416.yml +4 -4
  495. data/data/problems/417.yml +12 -14
  496. data/data/problems/418.yml +13 -10
  497. data/data/problems/419.yml +11 -13
  498. data/data/problems/42.yml +2 -2
  499. data/data/problems/420.yml +8 -8
  500. data/data/problems/421.yml +8 -13
  501. data/data/problems/422.yml +8 -8
  502. data/data/problems/423.yml +11 -12
  503. data/data/problems/424.yml +10 -10
  504. data/data/problems/425.yml +7 -7
  505. data/data/problems/426.yml +9 -9
  506. data/data/problems/427.yml +12 -13
  507. data/data/problems/428.yml +17 -20
  508. data/data/problems/429.yml +5 -5
  509. data/data/problems/43.yml +1 -1
  510. data/data/problems/430.yml +6 -7
  511. data/data/problems/44.yml +4 -4
  512. data/data/problems/45.yml +4 -4
  513. data/data/problems/46.yml +6 -9
  514. data/data/problems/47.yml +5 -8
  515. data/data/problems/48.yml +1 -1
  516. data/data/problems/49.yml +1 -1
  517. data/data/problems/5.yml +1 -1
  518. data/data/problems/50.yml +1 -1
  519. data/data/problems/51.yml +1 -3
  520. data/data/problems/52.yml +1 -1
  521. data/data/problems/53.yml +6 -12
  522. data/data/problems/54.yml +17 -16
  523. data/data/problems/55.yml +3 -3
  524. data/data/problems/56.yml +2 -2
  525. data/data/problems/57.yml +9 -10
  526. data/data/problems/58.yml +11 -11
  527. data/data/problems/59.yml +2 -2
  528. data/data/problems/6.yml +2 -2
  529. data/data/problems/60.yml +1 -1
  530. data/data/problems/61.yml +7 -7
  531. data/data/problems/62.yml +1 -1
  532. data/data/problems/63.yml +1 -1
  533. data/data/problems/64.yml +30 -44
  534. data/data/problems/65.yml +19 -19
  535. data/data/problems/66.yml +9 -12
  536. data/data/problems/67.yml +9 -9
  537. data/data/problems/68.yml +3 -3
  538. data/data/problems/69.yml +3 -3
  539. data/data/problems/7.yml +1 -1
  540. data/data/problems/70.yml +4 -4
  541. data/data/problems/71.yml +4 -4
  542. data/data/problems/72.yml +4 -4
  543. data/data/problems/73.yml +4 -4
  544. data/data/problems/74.yml +9 -16
  545. data/data/problems/75.yml +3 -3
  546. data/data/problems/76.yml +1 -1
  547. data/data/problems/77.yml +1 -1
  548. data/data/problems/78.yml +8 -8
  549. data/data/problems/79.yml +2 -2
  550. data/data/problems/8.yml +12 -13
  551. data/data/problems/80.yml +1 -1
  552. data/data/problems/81.yml +8 -10
  553. data/data/problems/82.yml +10 -11
  554. data/data/problems/83.yml +10 -11
  555. data/data/problems/84.yml +45 -37
  556. data/data/problems/85.yml +2 -2
  557. data/data/problems/86.yml +8 -8
  558. data/data/problems/87.yml +1 -1
  559. data/data/problems/88.yml +11 -22
  560. data/data/problems/89.yml +14 -14
  561. data/data/problems/9.yml +6 -7
  562. data/data/problems/90.yml +7 -7
  563. data/data/problems/91.yml +6 -8
  564. data/data/problems/92.yml +6 -11
  565. data/data/problems/93.yml +11 -12
  566. data/data/problems/94.yml +1 -1
  567. data/data/problems/95.yml +2 -2
  568. data/data/problems/96.yml +7 -9
  569. data/data/problems/97.yml +3 -3
  570. data/data/problems/98.yml +2 -2
  571. data/data/problems/99.yml +4 -4
  572. data/euler-manager.gemspec +2 -2
  573. data/example/1/README.md +1 -1
  574. data/example/1/ruby/1.rb +7 -1
  575. data/example/1/scala/1.scala +1 -1
  576. data/example/15/README.md +4 -4
  577. data/example/2/README.md +1 -4
  578. data/languages/c.rb +22 -0
  579. data/languages/elixir.rb +25 -0
  580. data/languages/java.rb +3 -2
  581. data/languages/perl.rb +25 -0
  582. data/languages/php.rb +25 -0
  583. data/lib/euler/version.rb +1 -1
  584. data/rake/clean.rake +0 -2
  585. data/rake/sha_answers.rake +20 -0
  586. data/rake/update.rake +5 -2
  587. data/spec/euler_spec.rb +5 -0
  588. data/templates/c.c +11 -0
  589. data/templates/elixir.ex +1 -0
  590. data/templates/perl.pl +3 -0
  591. data/templates/php.php +5 -0
  592. metadata +148 -164
  593. data/data/images/blackdot.gif +0 -0
  594. data/data/images/bracket_left.gif +0 -0
  595. data/data/images/bracket_right.gif +0 -0
  596. data/data/images/sod_13.gif +0 -119
  597. data/data/images/symbol_asymp.gif +0 -0
  598. data/data/images/symbol_cong.gif +0 -0
  599. data/data/images/symbol_ge.gif +0 -0
  600. data/data/images/symbol_gt.gif +0 -0
  601. data/data/images/symbol_implies.gif +0 -0
  602. data/data/images/symbol_lceil.gif +0 -0
  603. data/data/images/symbol_le.gif +0 -0
  604. data/data/images/symbol_lfloor.gif +0 -0
  605. data/data/images/symbol_lt.gif +0 -0
  606. data/data/images/symbol_maps.gif +0 -0
  607. data/data/images/symbol_minus.gif +0 -0
  608. data/data/images/symbol_ne.gif +0 -0
  609. data/data/images/symbol_plusmn.gif +0 -0
  610. data/data/images/symbol_radic.gif +0 -0
  611. data/data/images/symbol_rceil.gif +0 -0
  612. data/data/images/symbol_rfloor.gif +0 -0
  613. data/data/images/symbol_sum.gif +0 -0
  614. data/data/images/symbol_times.gif +0 -0
  615. data/example/1/haskell/1.hs +0 -3
  616. data/example/12/README.md +0 -20
  617. data/example/12/haskell/12.hs +0 -3
  618. data/example/lib/Euler.hs +0 -1
@@ -1,17 +1,11 @@
1
1
  ---
2
2
  :id: 198
3
3
  :name: Ambiguous Numbers
4
- :url: http://projecteuler.net/problem=198
5
- :content: "A best approximation to a real number <var>x</var> for the denominator
6
- bound <var>d</var> is a rational number <var>r</var>/<var>s</var> (in reduced form)
7
- with <var>s</var> ![≤]({{ images_dir }}/symbol_le.gif) <var>d</var>, so that any
8
- rational number <var>p</var>/<var>q</var> which is closer to <var>x</var> than <var>r</var>/<var>s</var>
9
- has <var>q</var> ![>]({{ images_dir }}/symbol_gt.gif) <var>d</var>.\n\nUsually the
10
- best approximation to a real number is uniquely determined for all denominator bounds.
11
- However, there are some exceptions, e.g. 9/40 has the two best approximations 1/4
12
- and 1/5 for the denominator bound 6.\rWe shall call a real number <var>x</var> _ambiguous_,
13
- if there is at least one denominator bound for which <var>x</var> possesses two
14
- best approximations. Clearly, an ambiguous number is necessarily rational.\n\nHow
15
- many ambiguous numbers <var>x</var> = <var>p</var>/<var>q</var>,\r0 ![<]({{ images_dir
16
- }}/symbol_lt.gif) <var>x</var> ![<]({{ images_dir }}/symbol_lt.gif) 1/100, are there
17
- whose denominator <var>q</var> does not exceed 10<sup>8</sup>?\n\n"
4
+ :url: https://projecteuler.net/problem=198
5
+ :content: |+
6
+ A best approximation to a real number <var>x</var> for the denominator bound <var>d</var> is a rational number <var>r</var>/<var>s</var> (in reduced form) with <var>s</var> ≤ <var>d</var>, so that any rational number <var>p</var>/<var>q</var> which is closer to <var>x</var> than <var>r</var>/<var>s</var> has <var>q</var> \> <var>d</var>.
7
+
8
+ Usually the best approximation to a real number is uniquely determined for all denominator bounds. However, there are some exceptions, e.g. 9/40 has the two best approximations 1/4 and 1/5 for the denominator bound 6. We shall call a real number <var>x</var> _ambiguous_, if there is at least one denominator bound for which <var>x</var> possesses two best approximations. Clearly, an ambiguous number is necessarily rational.
9
+
10
+ How many ambiguous numbers <var>x</var> = <var>p</var>/<var>q</var>, 0 \< <var>x</var> \< 1/100, are there whose denominator <var>q</var> does not exceed 10<sup>8</sup>?
11
+
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  :id: 199
3
3
  :name: Iterative Circle Packing
4
- :url: http://projecteuler.net/problem=199
4
+ :url: https://projecteuler.net/problem=199
5
5
  :content: "Three circles of equal radius are placed inside a larger circle such that
6
6
  each pair of circles is tangent to one another and the inner circles do not overlap.
7
7
  There are four uncovered \"gaps\" which are to be filled iteratively with more tangent
8
- circles.\n\n ![]({{ images_dir }}/p_199_circles_in_circles.gif)\n\nAt each iteration,
8
+ circles.\n\n ![]({{ images_dir }}/p199_circles_in_circles.gif)\n\nAt each iteration,
9
9
  a maximally sized circle is placed in each gap, which creates more gaps for the
10
10
  next iteration. After 3 iterations (pictured), there are 108 gaps and the fraction
11
11
  of the area which is not covered by circles is 0.06790342, rounded to eight decimal
12
12
  places.\n\nWhat fraction of the area is not covered by circles after 10 iterations?
13
- \ \n\rGive your answer rounded to eight decimal places using the format x.xxxxxxxx
13
+ \ \nGive your answer rounded to eight decimal places using the format x.xxxxxxxx
14
14
  .\n\n"
data/data/problems/2.yml CHANGED
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  :id: 2
3
3
  :name: Even Fibonacci numbers
4
- :url: http://projecteuler.net/problem=2
5
- :content: "Each new term in the Fibonacci sequence is generated by adding the previous
6
- two terms. By starting with 1 and 2, the first 10 terms will be:\n\n1, 2, 3, 5,
7
- 8, 13, 21, 34, 55, 89, ...\n\nBy considering the terms in the Fibonacci sequence
8
- whose values do not exceed four million, find the sum of the even-valued terms.\n\n<!--\r\nNote:
9
- This problem has been changed recently, please check that you are using the right
10
- parameters.\r\n-->\n"
4
+ :url: https://projecteuler.net/problem=2
5
+ :content: |+
6
+ Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
7
+
8
+ 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
9
+
10
+ By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
11
+
data/data/problems/20.yml CHANGED
@@ -1,12 +1,7 @@
1
1
  ---
2
2
  :id: 20
3
3
  :name: Factorial digit sum
4
- :url: http://projecteuler.net/problem=20
5
- :content: "_n_! means _n_ ![×]({{ images_dir }}/symbol_times.gif) (_n_ ![−]({{ images_dir
6
- }}/symbol_minus.gif) 1) ![×]({{ images_dir }}/symbol_times.gif) ... ![×]({{ images_dir
7
- }}/symbol_times.gif) 3 ![×]({{ images_dir }}/symbol_times.gif) 2 ![×]({{ images_dir
8
- }}/symbol_times.gif) 1\n\nFor example, 10! = 10 ![×]({{ images_dir }}/symbol_times.gif)
9
- 9 ![×]({{ images_dir }}/symbol_times.gif) ... ![×]({{ images_dir }}/symbol_times.gif)
10
- 3 ![×]({{ images_dir }}/symbol_times.gif) 2 ![×]({{ images_dir }}/symbol_times.gif)
11
- 1 = 3628800, \nand the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8
12
- + 0 + 0 = 27.\n\nFind the sum of the digits in the number 100!\n\n"
4
+ :url: https://projecteuler.net/problem=20
5
+ :content: "_n_! means _n_ × (_n_ 1) × ... × 3 × 2 × 1\n\nFor example, 10! = 10 ×
6
+ 9 × ... × 3 × 2 × 1 = 3628800, \nand the sum of the digits in the number 10! is
7
+ 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.\n\nFind the sum of the digits in the number 100!\n\n"
@@ -1,12 +1,11 @@
1
1
  ---
2
2
  :id: 200
3
3
  :name: Find the 200th prime-proof sqube containing the contiguous sub-string "200"
4
- :url: http://projecteuler.net/problem=200
4
+ :url: https://projecteuler.net/problem=200
5
5
  :content: "We shall define a sqube to be a number of the form, <var>p</var><sup>2</sup><var>q</var><sup>3</sup>,
6
- where <var>p</var> and <var>q</var> are distinct primes. \n\rFor example, 200 =
7
- 5<sup>2</sup>2<sup>3</sup> or 120072949 = 23<sup>2</sup>61<sup>3</sup>.\n\nThe first
8
- five squbes are 72, 108, 200, 392, and 500.\n\nInterestingly, 200 is also the first
9
- number for which you cannot change any single digit to make a prime; we shall call
10
- such numbers, prime-proof. The next prime-proof sqube which contains the contiguous
11
- sub-string \"200\" is 1992008.\n\nFind the 200th prime-proof sqube containing the
12
- contiguous sub-string \"200\".\n\n"
6
+ where <var>p</var> and <var>q</var> are distinct primes. \nFor example, 200 = 5<sup>2</sup>2<sup>3</sup>
7
+ or 120072949 = 23<sup>2</sup>61<sup>3</sup>.\n\nThe first five squbes are 72, 108,
8
+ 200, 392, and 500.\n\nInterestingly, 200 is also the first number for which you
9
+ cannot change any single digit to make a prime; we shall call such numbers, prime-proof.
10
+ The next prime-proof sqube which contains the contiguous sub-string \"200\" is 1992008.\n\nFind
11
+ the 200th prime-proof sqube containing the contiguous sub-string \"200\".\n\n"
@@ -1,18 +1,18 @@
1
1
  ---
2
2
  :id: 201
3
3
  :name: Subsets with a unique sum
4
- :url: http://projecteuler.net/problem=201
5
- :content: "For any set A of numbers, let sum(A) be the sum of the elements of A. \n\rConsider
4
+ :url: https://projecteuler.net/problem=201
5
+ :content: "For any set A of numbers, let sum(A) be the sum of the elements of A. \nConsider
6
6
  the set B = {1,3,6,8,10,11}. \n There are 20 subsets of B containing three elements,
7
- and their sums are:\n\nsum({1,3,6}) = 10, \n\rsum({1,3,8}) = 12, \n\rsum({1,3,10})
8
- = 14, \n\rsum({1,3,11}) = 15, \n\rsum({1,6,8}) = 15, \n\rsum({1,6,10}) = 17,
9
- \ \n\rsum({1,6,11}) = 18, \n\rsum({1,8,10}) = 19, \n\rsum({1,8,11}) = 20, \n\rsum({1,10,11})
10
- = 22, \n\rsum({3,6,8}) = 17, \n\rsum({3,6,10}) = 19, \n\rsum({3,6,11}) = 20,
11
- \ \n\rsum({3,8,10}) = 21, \n\rsum({3,8,11}) = 22, \n\rsum({3,10,11}) = 24, \n\rsum({6,8,10})
12
- = 24, \n\rsum({6,8,11}) = 25, \n\rsum({6,10,11}) = 27, \n\rsum({8,10,11}) = 29.\n\nSome
13
- of these sums occur more than once, others are unique. \n\rFor a set A, let U(A,k)
14
- be the set of unique sums of k-element subsets of A, in our example we find U(B,3)
15
- = {10,12,14,18,21,25,27,29} and sum(U(B,3)) = 156.\n\nNow consider the 100-element
16
- set S = {1<sup>2</sup>, 2<sup>2</sup>, ... , 100<sup>2</sup>}. \n\rS has 100891344545564193334812497256
17
- 50-element subsets.\n\nDetermine the sum of all integers which are the sum of exactly
18
- one of the 50-element subsets of S, i.e. find sum(U(S,50)).\n\n"
7
+ and their sums are:\n\nsum({1,3,6}) = 10, \nsum({1,3,8}) = 12, \nsum({1,3,10})
8
+ = 14, \nsum({1,3,11}) = 15, \nsum({1,6,8}) = 15, \nsum({1,6,10}) = 17, \nsum({1,6,11})
9
+ = 18, \nsum({1,8,10}) = 19, \nsum({1,8,11}) = 20, \nsum({1,10,11}) = 22, \nsum({3,6,8})
10
+ = 17, \nsum({3,6,10}) = 19, \nsum({3,6,11}) = 20, \nsum({3,8,10}) = 21, \nsum({3,8,11})
11
+ = 22, \nsum({3,10,11}) = 24, \nsum({6,8,10}) = 24, \nsum({6,8,11}) = 25, \nsum({6,10,11})
12
+ = 27, \nsum({8,10,11}) = 29.\n\nSome of these sums occur more than once, others
13
+ are unique. \nFor a set A, let U(A,k) be the set of unique sums of k-element subsets
14
+ of A, in our example we find U(B,3) = {10,12,14,18,21,25,27,29} and sum(U(B,3))
15
+ = 156.\n\nNow consider the 100-element set S = {1<sup>2</sup>, 2<sup>2</sup>, ...
16
+ , 100<sup>2</sup>}. \nS has 100891344545564193334812497256 50-element subsets.\n\nDetermine
17
+ the sum of all integers which are the sum of exactly one of the 50-element subsets
18
+ of S, i.e. find sum(U(S,50)).\n\n"
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  :id: 202
3
3
  :name: Laserbeam
4
- :url: http://projecteuler.net/problem=202
4
+ :url: https://projecteuler.net/problem=202
5
5
  :content: |+
6
6
  Three mirrors are arranged in the shape of an equilateral triangle, with their reflective surfaces pointing inwards. There is an infinitesimal gap at each vertex of the triangle through which a laser beam may pass.
7
7
 
8
8
  Label the vertices A, B and C. There are 2 ways in which a laser beam may enter vertex C, bounce off 11 surfaces, then exit through the same vertex: one way is shown below; the other is the reverse of that.
9
9
 
10
- ![]({{ images_dir }}/p_201_laserbeam.gif)
10
+ ![]({{ images_dir }}/p201_laserbeam.gif)
11
11
 
12
12
  There are 80840 ways in which a laser beam may enter vertex C, bounce off 1000001 surfaces, then exit through the same vertex.
13
13
 
@@ -1,16 +1,24 @@
1
1
  ---
2
2
  :id: 203
3
3
  :name: Squarefree Binomial Coefficients
4
- :url: http://projecteuler.net/problem=203
5
- :content: "The binomial coefficients <sup>n</sup>C<sub>k</sub> can be arranged in
6
- triangular form, Pascal's triangle, like this:\n\n| | 1 | |\n| | 1 | | 1 | |\n|
7
- | 1 | | 2 | | 1 | |\n| | 1 | | 3 | | 3 | | 1 | |\n| | 1 | | 4 | | 6 | | 4 | | 1
8
- | |\n| | 1 | | 5 | | 10 | | 10 | | 5 | | 1 | |\n| | 1 | | 6 | | 15 | | 20 | | 15
9
- | | 6 | | 1 | |\n| 1 | | 7 | | 21 | | 35 | | 35 | | 21 | | 7 | | 1 |\n\n\r.........\r\n\nIt
10
- can be seen that the first eight rows of Pascal's triangle contain twelve distinct
11
- numbers: 1, 2, 3, 4, 5, 6, 7, 10, 15, 20, 21 and 35.\n\nA positive integer <var>n</var>
12
- is called squarefree if no square of a prime divides <var>n</var>.\rOf the twelve
13
- distinct numbers in the first eight rows of Pascal's triangle, all except 4 and
14
- 20 are squarefree.\rThe sum of the distinct squarefree numbers in the first eight
15
- rows is 105.\n\nFind the sum of the distinct squarefree numbers in the first 51
16
- rows of Pascal's triangle.\n\n"
4
+ :url: https://projecteuler.net/problem=203
5
+ :content: |+
6
+ The binomial coefficients <sup>n</sup>C<sub>k</sub> can be arranged in triangular form, Pascal's triangle, like this:
7
+
8
+ | | 1 | |
9
+ | | 1 | | 1 | |
10
+ | | 1 | | 2 | | 1 | |
11
+ | | 1 | | 3 | | 3 | | 1 | |
12
+ | | 1 | | 4 | | 6 | | 4 | | 1 | |
13
+ | | 1 | | 5 | | 10 | | 10 | | 5 | | 1 | |
14
+ | | 1 | | 6 | | 15 | | 20 | | 15 | | 6 | | 1 | |
15
+ | 1 | | 7 | | 21 | | 35 | | 35 | | 21 | | 7 | | 1 |
16
+
17
+ .........
18
+
19
+ It can be seen that the first eight rows of Pascal's triangle contain twelve distinct numbers: 1,&nbsp;2,&nbsp;3,&nbsp;4,&nbsp;5,&nbsp;6,&nbsp;7,&nbsp;10,&nbsp;15,&nbsp;20,&nbsp;21&nbsp;and&nbsp;35.
20
+
21
+ A positive integer <var>n</var> is called squarefree if no square of a prime divides <var>n</var>. Of the twelve distinct numbers in the first eight rows of Pascal's triangle, all except 4 and 20 are squarefree. The sum of the distinct squarefree numbers in the first eight rows is 105.
22
+
23
+ Find the sum of the distinct squarefree numbers in the first 51 rows of Pascal's triangle.
24
+
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  :id: 204
3
3
  :name: Generalised Hamming Numbers
4
- :url: http://projecteuler.net/problem=204
4
+ :url: https://projecteuler.net/problem=204
5
5
  :content: "A Hamming number is a positive number which has no prime factor larger
6
- than 5. \n\rSo the first few Hamming numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12,
7
- 15. \n\rThere are 1105 Hamming numbers not exceeding 10<sup>8</sup>.\n\nWe will
8
- call a positive number a generalised Hamming number of type <var>n</var>, if it
9
- has no prime factor larger than <var>n</var>. \n\rHence the Hamming numbers are
10
- the generalised Hamming numbers of type 5.\n\nHow many generalised Hamming numbers
11
- of type 100 are there which don't exceed 10<sup>9</sup>?\n\n"
6
+ than 5. \nSo the first few Hamming numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12,
7
+ 15. \nThere are 1105 Hamming numbers not exceeding 10<sup>8</sup>.\n\nWe will call
8
+ a positive number a generalised Hamming number of type <var>n</var>, if it has no
9
+ prime factor larger than <var>n</var>. \nHence the Hamming numbers are the generalised
10
+ Hamming numbers of type 5.\n\nHow many generalised Hamming numbers of type 100 are
11
+ there which don't exceed 10<sup>9</sup>?\n\n"
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  :id: 205
3
3
  :name: Dice Game
4
- :url: http://projecteuler.net/problem=205
4
+ :url: https://projecteuler.net/problem=205
5
5
  :content: "Peter has nine four-sided (pyramidal) dice, each with faces numbered 1,
6
- 2, 3, 4. \n\rColin has six six-sided (cubic) dice, each with faces numbered 1,
7
- 2, 3, 4, 5, 6.\n\nPeter and Colin roll their dice and compare totals: the highest
8
- total wins. The result is a draw if the totals are equal.\n\nWhat is the probability
9
- that Pyramidal Pete beats Cubic Colin? Give your answer rounded to seven decimal
10
- places in the form 0.abcdefg\n\n"
6
+ 2, 3, 4. \nColin has six six-sided (cubic) dice, each with faces numbered 1, 2,
7
+ 3, 4, 5, 6.\n\nPeter and Colin roll their dice and compare totals: the highest total
8
+ wins. The result is a draw if the totals are equal.\n\nWhat is the probability that
9
+ Pyramidal Pete beats Cubic Colin? Give your answer rounded to seven decimal places
10
+ in the form 0.abcdefg\n\n"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  :id: 206
3
3
  :name: Concealed Square
4
- :url: http://projecteuler.net/problem=206
4
+ :url: https://projecteuler.net/problem=206
5
5
  :content: "Find the unique positive integer whose square has the form 1\\_2\\_3\\_4\\_5\\_6\\_7\\_8\\_9\\_0,
6
6
  \ \n where each “\\_” is a single digit.\n\n"
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  :id: 207
3
3
  :name: Integer partition equations
4
- :url: http://projecteuler.net/problem=207
4
+ :url: https://projecteuler.net/problem=207
5
5
  :content: "For some positive integers <var>k</var>, there exists an integer partition
6
- of the form   4<sup>t</sup> = 2<sup>t</sup> + <var>k</var>, \n\rwhere 4<sup>t</sup>,
6
+ of the form&nbsp;&nbsp; 4<sup>t</sup> = 2<sup>t</sup> + <var>k</var>, \nwhere 4<sup>t</sup>,
7
7
  2<sup>t</sup>, and <var>k</var> are all positive integers and <var>t</var> is a
8
8
  real number.\n\nThe first two such partitions are 4<sup>1</sup> = 2<sup>1</sup>
9
9
  + 2 and 4<sup>1.5849625...</sup> = 2<sup>1.5849625...</sup> + 6.\n\nPartitions where
10
- <var>t</var> is also an integer are called _perfect_. \n \rFor any <var>m</var>
11
- ![≥]({{ images_dir }}/symbol_ge.gif) 1 let P(<var>m</var>) be the proportion of
12
- such partitions that are perfect with <var>k</var> ![]({{ images_dir }}/symbol_le.gif)
13
- <var>m</var>. \n\rThus P(6) = 1/2.\n\nIn the following table are listed some values
14
- of P(<var>m</var>)\n\n   P(5) = 1/1 \n\r   P(10) = 1/2 \n\r   P(15) = 2/3 \n\r   P(20)
15
- = 1/2 \n\r   P(25) = 1/2 \n\r   P(30) = 2/5 \n\r   ... \n\r   P(180) = 1/4 \n\r   P(185)
16
- = 3/13\n\nFind the smallest <var>m</var> for which P(<var>m</var>) ![<]({{ images_dir
17
- }}/symbol_lt.gif) 1/12345\n\n"
10
+ <var>t</var> is also an integer are called _perfect_. \n For any <var>m</var>
11
+ 1 let P(<var>m</var>) be the proportion of such partitions that are perfect with
12
+ <var>k</var> ≤ <var>m</var>. \nThus P(6) = 1/2.\n\nIn the following table are listed
13
+ some values of P(<var>m</var>)\n\n&nbsp;&nbsp;&nbsp;P(5) = 1/1 \n&nbsp;&nbsp;&nbsp;P(10)
14
+ = 1/2 \n&nbsp;&nbsp;&nbsp;P(15) = 2/3 \n&nbsp;&nbsp;&nbsp;P(20) = 1/2 \n&nbsp;&nbsp;&nbsp;P(25)
15
+ = 1/2 \n&nbsp;&nbsp;&nbsp;P(30) = 2/5 \n&nbsp;&nbsp;&nbsp;... \n&nbsp;&nbsp;&nbsp;P(180)
16
+ = 1/4 \n&nbsp;&nbsp;&nbsp;P(185) = 3/13\n\nFind the smallest <var>m</var> for which
17
+ P(<var>m</var>) \\< 1/12345\n\n"
@@ -1,11 +1,10 @@
1
1
  ---
2
2
  :id: 208
3
3
  :name: Robot Walks
4
- :url: http://projecteuler.net/problem=208
4
+ :url: https://projecteuler.net/problem=208
5
5
  :content: "A robot moves in a series of one-fifth circular arcs (72°), with a free
6
6
  choice of a clockwise or an anticlockwise arc for each step, but no turning on the
7
7
  spot.\n\nOne of 70932 possible closed paths of 25 arcs starting northward is\n\n
8
- ![]({{ images_dir }}/p_208_robotwalk.gif)\n\nGiven that the robot starts facing
9
- North, how many journeys of 70 arcs in length can it take that return it, after
10
- the final arc, to its starting position? \n<!--(Journeys are allowed to return
11
- multiple times to the start.)-->\r(Any arc may be traversed multiple times.)\n\n"
8
+ ![]({{ images_dir }}/p208_robotwalk.gif)\n\nGiven that the robot starts facing North,
9
+ how many journeys of 70 arcs in length can it take that return it, after the final
10
+ arc, to its starting position? \n(Any arc may be traversed multiple times.)\n\n"
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  :id: 209
3
3
  :name: Circular Logic
4
- :url: http://projecteuler.net/problem=209
4
+ :url: https://projecteuler.net/problem=209
5
5
  :content: "A <var>k</var>-input _binary truth table_ is a map from <var>k</var> input
6
- bits\r(binary digits, 0 [false] or 1 [true]) to 1 output bit. For example, the 2-input
6
+ bits (binary digits, 0 [false] or 1 [true]) to 1 output bit. For example, the 2-input
7
7
  binary truth tables for the logical AND and XOR functions are:\n\n| <var>x</var>
8
8
  | <var>y</var> | <var>x</var> AND <var>y</var> |\n| 0 | 0 | 0 |\n| 0 | 1 | 0 |\n|
9
9
  1 | 0 | 0 |\n| 1 | 1 | 1 |\n\n| <var>x</var> | <var>y</var> | <var>x</var> XOR <var>y</var>
10
- |\n| 0 | 0 | 0 |\n| 0 | 1 | 1 |\n| 1 | 0 | 1 |\n| 1 | 1 | 0 |\n\n \n \n\nHow many
11
- 6-input binary truth tables, τ, satisfy the formula\n\n\rτ(<var>a</var>, <var>b</var>,
10
+ |\n| 0 | 0 | 0 |\n| 0 | 1 | 1 |\n| 1 | 0 | 1 |\n| 1 | 1 | 0 |\n\n \n\nHow many
11
+ 6-input binary truth tables, τ, satisfy the formula\n\nτ(<var>a</var>, <var>b</var>,
12
12
  <var>c</var>, <var>d</var>, <var>e</var>, <var>f</var>) AND τ(<var>b</var>, <var>c</var>,
13
13
  <var>d</var>, <var>e</var>, <var>f</var>, <var>a</var> XOR (<var>b</var> AND <var>c</var>))
14
- = 0\r\n \n \n\nfor all 6-bit inputs (<var>a</var>, <var>b</var>, <var>c</var>,
15
- <var>d</var>, <var>e</var>, <var>f</var>)?\n\n"
14
+ = 0\n \n\nfor all 6-bit inputs (<var>a</var>, <var>b</var>, <var>c</var>, <var>d</var>,
15
+ <var>e</var>, <var>f</var>)?\n\n"
data/data/problems/21.yml CHANGED
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  :id: 21
3
3
  :name: Amicable numbers
4
- :url: http://projecteuler.net/problem=21
4
+ :url: https://projecteuler.net/problem=21
5
5
  :content: "Let d(_n_) be defined as the sum of proper divisors of _n_ (numbers less
6
- than _n_ which divide evenly into _n_). \n\rIf d(_a_) = _b_ and d(_b_) = _a_, where
7
- _a_ ![]({{ images_dir }}/symbol_ne.gif) _b_, then _a_ and _b_ are an amicable pair
8
- and each of _a_ and _b_ are called amicable numbers.\n\nFor example, the proper
9
- divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220)
10
- = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.\n\nEvaluate
11
- the sum of all the amicable numbers under 10000.\n\n"
6
+ than _n_ which divide evenly into _n_). \nIf d(_a_) = _b_ and d(_b_) = _a_, where
7
+ _a_ ≠ _b_, then _a_ and _b_ are an amicable pair and each of _a_ and _b_ are called
8
+ amicable numbers.\n\nFor example, the proper divisors of 220 are 1, 2, 4, 5, 10,
9
+ 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are
10
+ 1, 2, 4, 71 and 142; so d(284) = 220.\n\nEvaluate the sum of all the amicable numbers
11
+ under 10000.\n\n"
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  :id: 210
3
3
  :name: Obtuse Angled Triangles
4
- :url: http://projecteuler.net/problem=210
5
- :content: "\rConsider the set S(r) of points (x,y) with integer coordinates satisfying
6
- |x| + |y| ![]({{ images_dir }}/symbol_le.gif) r. \n\rLet O be the point (0,0)
7
- and C the point (r/4,r/4). \n\rLet N(r) be the number of points B in S(r), so
8
- that the triangle OBC has an obtuse angle, i.e. the largest angle α satisfies 90°\rSo,
9
- for example, N(4)=24 and N(8)=100.\r\n\nWhat is N(1,000,000,000)?\n\n"
4
+ :url: https://projecteuler.net/problem=210
5
+ :content: "\r Consider the set S(r) of points (x,y) with integer coordinates satisfying
6
+ |x| + |y| ≤ r. \nLet O be the point (0,0) and C the point (r/4,r/4). \nLet N(r)
7
+ be the number of points B in S(r), so that the triangle OBC has an obtuse angle,
8
+ i.e. the largest angle α satisfies 90°\\<α\\<180°. \nSo, for example, N(4)=24 and
9
+ N(8)=100.\n\nWhat is N(1,000,000,000)?\n\n"
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  :id: 211
3
3
  :name: Divisor Square Sum
4
- :url: http://projecteuler.net/problem=211
4
+ :url: https://projecteuler.net/problem=211
5
5
  :content: |+
6
6
  For a positive integer <var>n</var>, let σ<sub>2</sub>(<var>n</var>) be the sum of the squares of its divisors. For example,
7
7
 
8
8
  σ<sub>2</sub>(10) = 1 + 4 + 25 + 100 = 130.
9
9
 
10
- Find the sum of all <var>n</var>, 0 ![<]({{ images_dir }}/symbol_lt.gif) <var>n</var> ![<]({{ images_dir }}/symbol_lt.gif) 64,000,000 such that σ<sub>2</sub>(<var>n</var>) is a perfect square.
10
+ Find the sum of all <var>n</var>, 0 \< <var>n</var> \< 64,000,000 such that σ<sub>2</sub>(<var>n</var>) is a perfect square.
11
11
 
@@ -1,27 +1,23 @@
1
1
  ---
2
2
  :id: 212
3
3
  :name: Combined Volume of Cuboids
4
- :url: http://projecteuler.net/problem=212
4
+ :url: https://projecteuler.net/problem=212
5
5
  :content: "An axis-aligned cuboid, specified by parameters { (x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>),
6
- (dx,dy,dz) }, consists of all points (X,Y,Z) such that x<sub>0</sub> ![]({{ images_dir
7
- }}/symbol_le.gif) X ![]({{ images_dir }}/symbol_le.gif) x<sub>0</sub>+dx, y<sub>0</sub>
8
- ![≤]({{ images_dir }}/symbol_le.gif) Y ![≤]({{ images_dir }}/symbol_le.gif) y<sub>0</sub>+dy
9
- and z<sub>0</sub> ![≤]({{ images_dir }}/symbol_le.gif) Z ![≤]({{ images_dir }}/symbol_le.gif)
10
- z<sub>0</sub>+dz. The volume of the cuboid is the product, dx ![×]({{ images_dir
11
- }}/symbol_times.gif) dy ![×]({{ images_dir }}/symbol_times.gif) dz. The combined
12
- volume of a collection of cuboids is the volume of their union and will be less
13
- than the sum of the individual volumes if any cuboids overlap.\n\nLet C<sub>1</sub>,...,C<sub>50000</sub>
14
- be a collection of 50000 axis-aligned cuboids such that C<sub><var>n</var></sub>
15
- has parameters\n\nx<sub>0</sub> = S<sub>6<var>n</var>-5</sub> modulo 10000 \ny<sub>0</sub>
6
+ (dx,dy,dz) }, consists of all points (X,Y,Z) such that x<sub>0</sub> ≤ X ≤ x<sub>0</sub>+dx,
7
+ y<sub>0</sub>Y y<sub>0</sub>+dy and z<sub>0</sub> ≤ Z ≤ z<sub>0</sub>+dz. The
8
+ volume of the cuboid is the product, dx × dy × dz. The combined volume of a collection
9
+ of cuboids is the volume of their union and will be less than the sum of the individual
10
+ volumes if any cuboids overlap.\n\nLet C<sub>1</sub>,...,C<sub>50000</sub> be a
11
+ collection of 50000 axis-aligned cuboids such that C<sub><var>n</var></sub> has
12
+ parameters\n\nx<sub>0</sub> = S<sub>6<var>n</var>-5</sub> modulo 10000 \ny<sub>0</sub>
16
13
  = S<sub>6<var>n</var>-4</sub> modulo 10000 \nz<sub>0</sub> = S<sub>6<var>n</var>-3</sub>
17
14
  modulo 10000 \ndx = 1 + (S<sub>6<var>n</var>-2</sub> modulo 399) \ndy = 1 + (S<sub>6<var>n</var>-1</sub>
18
15
  modulo 399) \ndz = 1 + (S<sub>6<var>n</var></sub> modulo 399)\n\nwhere S<sub>1</sub>,...,S<sub>300000</sub>
19
- come from the \"Lagged Fibonacci Generator\":\n\nFor 1 ![]({{ images_dir }}/symbol_le.gif)
20
- <var>k</var> ![≤]({{ images_dir }}/symbol_le.gif) 55, S<sub><var>k</var></sub> =
21
- [100003 - 200003<var>k</var> + 300007<var>k</var><sup>3</sup>]   (modulo 1000000)
22
- \ \nFor 56 ![≤]({{ images_dir }}/symbol_le.gif) <var>k</var>, S<sub><var>k</var></sub>
23
- = [S<sub><var>k</var>-24</sub> + S<sub><var>k</var>-55</sub>]   (modulo 1000000)\n\nThus,
24
- C<sub>1</sub> has parameters {(7,53,183),(94,369,56)}, C<sub>2</sub> has parameters
25
- {(2383,3563,5079),(42,212,344)}, and so on.\n\nThe combined volume of the first
26
- 100 cuboids, C<sub>1</sub>,...,C<sub>100</sub>, is 723581599.\n\nWhat is the combined
27
- volume of all 50000 cuboids, C<sub>1</sub>,...,C<sub>50000</sub> ?\n\n"
16
+ come from the \"Lagged Fibonacci Generator\":\n\nFor 1 ≤ <var>k</var> ≤ 55, S<sub><var>k</var></sub>
17
+ = [100003 - 200003<var>k</var> + 300007<var>k</var><sup>3</sup>] &nbsp; (modulo
18
+ 1000000) \nFor 56 <var>k</var>, S<sub><var>k</var></sub> = [S<sub><var>k</var>-24</sub>
19
+ + S<sub><var>k</var>-55</sub>] &nbsp; (modulo 1000000)\n\nThus, C<sub>1</sub> has
20
+ parameters {(7,53,183),(94,369,56)}, C<sub>2</sub> has parameters {(2383,3563,5079),(42,212,344)},
21
+ and so on.\n\nThe combined volume of the first 100 cuboids, C<sub>1</sub>,...,C<sub>100</sub>,
22
+ is 723581599.\n\nWhat is the combined volume of all 50000 cuboids, C<sub>1</sub>,...,C<sub>50000</sub>
23
+ ?\n\n"
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  :id: 213
3
3
  :name: Flea Circus
4
- :url: http://projecteuler.net/problem=213
5
- :content: "A 30 ![×]({{ images_dir }}/symbol_times.gif)30 grid of squares contains
6
- 900 fleas, initially one flea per square. \n\rWhen a bell is rung, each flea jumps
7
- to an adjacent square at random (usually 4 possibilities, except for fleas on the
8
- edge of the grid or at the corners).\n\nWhat is the expected number of unoccupied
9
- squares after 50 rings of the bell? Give your answer rounded to six decimal places.\n\n"
4
+ :url: https://projecteuler.net/problem=213
5
+ :content: "A 30×30 grid of squares contains 900 fleas, initially one flea per square.
6
+ \ \nWhen a bell is rung, each flea jumps to an adjacent square at random (usually
7
+ 4 possibilities, except for fleas on the edge of the grid or at the corners).\n\nWhat
8
+ is the expected number of unoccupied squares after 50 rings of the bell? Give your
9
+ answer rounded to six decimal places.\n\n"
@@ -1,13 +1,12 @@
1
1
  ---
2
2
  :id: 214
3
3
  :name: Totient Chains
4
- :url: http://projecteuler.net/problem=214
5
- :content: "Let φ be Euler's totient function, i.e. for a natural number <var>n</var>,\rφ(<var>n</var>)
6
- is the number of <var>k</var>, 1 ![]({{ images_dir }}/symbol_le.gif) <var>k</var>
7
- ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var>, for which gcd(<var>k</var>,<var>n</var>)
8
- = 1.\n\nBy iterating φ, each positive integer generates a decreasing chain of numbers
9
- ending in 1. \n\rE.g. if we start with 5 the sequence 5,4,2,1 is generated. \n\rHere
10
- is a listing of all chains with length 4:\n\n\r5,4,2,1 \n\r7,6,2,1 \n\r8,4,2,1
11
- \ \n\r9,6,2,1 \n\r10,4,2,1 \n\r12,4,2,1 \n\r14,6,2,1 \n\r18,6,2,1\n\nOnly two
12
- of these chains start with a prime, their sum is 12.\n\nWhat is the sum of all primes
13
- less than 40000000 which generate a chain of length 25?\n\n"
4
+ :url: https://projecteuler.net/problem=214
5
+ :content: "Let φ be Euler's totient function, i.e. for a natural number <var>n</var>,
6
+ φ(<var>n</var>) is the number of <var>k</var>, 1 ≤ <var>k</var> <var>n</var>,
7
+ for which gcd(<var>k</var>,<var>n</var>) = 1.\n\nBy iterating φ, each positive integer
8
+ generates a decreasing chain of numbers ending in 1. \nE.g. if we start with 5
9
+ the sequence 5,4,2,1 is generated. \nHere is a listing of all chains with length
10
+ 4:\n\n5,4,2,1 \n7,6,2,1 \n8,4,2,1 \n9,6,2,1 \n10,4,2,1 \n12,4,2,1 \n14,6,2,1
11
+ \ \n18,6,2,1\n\nOnly two of these chains start with a prime, their sum is 12.\n\nWhat
12
+ is the sum of all primes less than 40000000 which generate a chain of length 25?\n\n"