euler-manager 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -1
  3. data/Rakefile +3 -0
  4. data/bin/euler +28 -9
  5. data/config/config.rb +1 -0
  6. data/data/answers.yml +430 -456
  7. data/data/images/blackdot.gif +0 -0
  8. data/data/images/bracket_left.gif +0 -0
  9. data/data/images/bracket_right.gif +0 -0
  10. data/data/images/p295_lenticular.gif +0 -0
  11. data/data/images/p296_bisector.gif +0 -0
  12. data/data/images/p303_formula100.gif +0 -0
  13. data/data/images/p303_formula10000.gif +0 -0
  14. data/data/images/p392_gridlines.png +0 -0
  15. data/data/images/p400_winning.png +0 -0
  16. data/data/images/p411_longpath.png +0 -0
  17. data/data/images/p412_table53.png +0 -0
  18. data/data/images/p412_tablenums.png +0 -0
  19. data/data/images/p422_hyperbola.gif +0 -0
  20. data/data/images/p428_necklace.png +0 -0
  21. data/data/images/p_015.gif +0 -0
  22. data/data/images/p_068_1.gif +0 -0
  23. data/data/images/p_068_2.gif +0 -0
  24. data/data/images/p_085.gif +0 -0
  25. data/data/images/p_086.gif +0 -0
  26. data/data/images/p_090.gif +0 -0
  27. data/data/images/p_091_1.gif +0 -0
  28. data/data/images/p_091_2.gif +0 -0
  29. data/data/images/p_107_1.gif +0 -0
  30. data/data/images/p_107_2.gif +0 -0
  31. data/data/images/p_109.gif +0 -0
  32. data/data/images/p_126.gif +0 -0
  33. data/data/images/p_128.gif +0 -0
  34. data/data/images/p_138.gif +0 -0
  35. data/data/images/p_139.gif +0 -0
  36. data/data/images/p_143_torricelli.gif +0 -0
  37. data/data/images/p_144_1.gif +0 -0
  38. data/data/images/p_144_2.gif +0 -0
  39. data/data/images/p_147.gif +0 -0
  40. data/data/images/p_150.gif +0 -0
  41. data/data/images/p_151.gif +0 -0
  42. data/data/images/p_152_sum.gif +0 -0
  43. data/data/images/p_153_formule1.gif +0 -0
  44. data/data/images/p_153_formule2.gif +0 -0
  45. data/data/images/p_153_formule5.gif +0 -0
  46. data/data/images/p_153_formule6.gif +0 -0
  47. data/data/images/p_154_pyramid.gif +0 -0
  48. data/data/images/p_155_capacitors1.gif +0 -0
  49. data/data/images/p_155_capsform.gif +0 -0
  50. data/data/images/p_155_capsmu.gif +0 -0
  51. data/data/images/p_161_k9.gif +0 -0
  52. data/data/images/p_161_trio1.gif +0 -0
  53. data/data/images/p_161_trio3.gif +0 -0
  54. data/data/images/p_163.gif +0 -0
  55. data/data/images/p_173_square_laminas.gif +0 -0
  56. data/data/images/p_177_quad.gif +0 -0
  57. data/data/images/p_184.gif +0 -0
  58. data/data/images/p_189_colours.gif +0 -0
  59. data/data/images/p_189_grid.gif +0 -0
  60. data/data/images/p_194_Fig.png +0 -0
  61. data/data/images/p_194_GraphA.png +0 -0
  62. data/data/images/p_194_GraphB.png +0 -0
  63. data/data/images/p_199_circles_in_circles.gif +0 -0
  64. data/data/images/p_201_laserbeam.gif +0 -0
  65. data/data/images/p_208_robotwalk.gif +0 -0
  66. data/data/images/p_215_crackfree.gif +0 -0
  67. data/data/images/p_220.gif +0 -0
  68. data/data/images/p_226_formula.gif +0 -0
  69. data/data/images/p_226_scoop2.gif +0 -0
  70. data/data/images/p_228.png +0 -0
  71. data/data/images/p_237.gif +0 -0
  72. data/data/images/p_244_example.gif +0 -0
  73. data/data/images/p_244_start.gif +0 -0
  74. data/data/images/p_244_target.gif +0 -0
  75. data/data/images/p_246_anim.gif +0 -0
  76. data/data/images/p_246_ellipse.gif +0 -0
  77. data/data/images/p_247_hypersquares.gif +0 -0
  78. data/data/images/p_251_cardano.gif +0 -0
  79. data/data/images/p_252_convexhole.gif +0 -0
  80. data/data/images/p_255_Example.gif +0 -0
  81. data/data/images/p_255_Heron.gif +0 -0
  82. data/data/images/p_256_tatami3.gif +0 -0
  83. data/data/images/p_257_bisector.gif +0 -0
  84. data/data/images/p_262_formula1.gif +0 -0
  85. data/data/images/p_264_TriangleCentres.gif +0 -0
  86. data/data/images/p_265_BinaryCircles.gif +0 -0
  87. data/data/images/p_270_CutSquare.gif +0 -0
  88. data/data/images/p_275_sculptures2.gif +0 -0
  89. data/data/images/p_281_pizza.gif +0 -0
  90. data/data/images/p_282_formula.gif +0 -0
  91. data/data/images/p_282formula3.gif +0 -0
  92. data/data/images/p_287_quadtree.gif +0 -0
  93. data/data/images/p_289_euler.gif +0 -0
  94. data/data/images/p_291_formula.gif +0 -0
  95. data/data/images/p_299_ThreeSimTri.gif +0 -0
  96. data/data/images/p_300_protein.gif +0 -0
  97. data/data/images/p_306_pstrip.gif +0 -0
  98. data/data/images/p_309_ladders.gif +0 -0
  99. data/data/images/p_311_biclinic.gif +0 -0
  100. data/data/images/p_312_sierpinsky8t.gif +0 -0
  101. data/data/images/p_312_sierpinskyAt.gif +0 -0
  102. data/data/images/p_313_sliding_game_1.gif +0 -0
  103. data/data/images/p_313_sliding_game_2.gif +0 -0
  104. data/data/images/p_314_landgrab.gif +0 -0
  105. data/data/images/p_315_clocks.gif +0 -0
  106. data/data/images/p_316_decexp1.gif +0 -0
  107. data/data/images/p_316_decexp2.gif +0 -0
  108. data/data/images/p_316_decexp3.gif +0 -0
  109. data/data/images/p_321_swapping_counters_1.gif +0 -0
  110. data/data/images/p_321_swapping_counters_2.gif +0 -0
  111. data/data/images/p_326_formula1.gif +0 -0
  112. data/data/images/p_326_formula2.gif +0 -0
  113. data/data/images/p_327_rooms_of_doom.gif +0 -0
  114. data/data/images/p_328_sum1.gif +0 -0
  115. data/data/images/p_328_sum2.gif +0 -0
  116. data/data/images/p_330_formula.gif +0 -0
  117. data/data/images/p_331_crossflips1.gif +0 -0
  118. data/data/images/p_331_crossflips2.gif +0 -0
  119. data/data/images/p_331_crossflips3.gif +0 -0
  120. data/data/images/p_332_spherical.jpg +0 -0
  121. data/data/images/p_332_sum.gif +0 -0
  122. data/data/images/p_334_beans.gif +0 -0
  123. data/data/images/p_334_cases.gif +0 -0
  124. data/data/images/p_334_lfloor.gif +0 -0
  125. data/data/images/p_334_oplus.gif +0 -0
  126. data/data/images/p_334_rfloor.gif +0 -0
  127. data/data/images/p_335_mancala.gif +0 -0
  128. data/data/images/p_335_sum.gif +0 -0
  129. data/data/images/p_336_maximix.gif +0 -0
  130. data/data/images/p_338_gridpaper.gif +0 -0
  131. data/data/images/p_340_formula.gif +0 -0
  132. data/data/images/p_344_silverdollar.gif +0 -0
  133. data/data/images/p_351_hexorchard.png +0 -0
  134. data/data/images/p_354_bee_honeycomb.png +0 -0
  135. data/data/images/p_356_cubicpoly1.gif +0 -0
  136. data/data/images/p_356_cubicpoly2.gif +0 -0
  137. data/data/images/p_361_Thue-Morse1.gif +0 -0
  138. data/data/images/p_364_comf_dist.gif +0 -0
  139. data/data/images/p_372_pencilray1.jpg +0 -0
  140. data/data/images/p_372_pencilray2.gif +0 -0
  141. data/data/images/p_380_mazes.gif +0 -0
  142. data/data/images/p_384_formula.gif +0 -0
  143. data/data/images/p_385_ellipsetriangle.png +0 -0
  144. data/data/images/p_394_eatpie.gif +0 -0
  145. data/data/images/p_395_pythagorean.gif +0 -0
  146. data/data/images/p_404_c_ellipse.gif +0 -0
  147. data/data/images/p_405_tile1.png +0 -0
  148. data/data/images/p_405_tile2.gif +0 -0
  149. data/data/images/p_420_matrix.gif +0 -0
  150. data/data/images/p_424_kakuro1.gif +0 -0
  151. data/data/images/p_426_baxball1.gif +0 -0
  152. data/data/images/p_426_baxball2.gif +0 -0
  153. data/data/images/p_430_flips.gif +0 -0
  154. data/data/images/sod_13.gif +115 -0
  155. data/data/images/spacer.gif +0 -0
  156. data/data/images/symbol_asymp.gif +0 -0
  157. data/data/images/symbol_cong.gif +0 -0
  158. data/data/images/symbol_ge.gif +0 -0
  159. data/data/images/symbol_gt.gif +0 -0
  160. data/data/images/symbol_implies.gif +0 -0
  161. data/data/images/symbol_lceil.gif +0 -0
  162. data/data/images/symbol_le.gif +0 -0
  163. data/data/images/symbol_lfloor.gif +0 -0
  164. data/data/images/symbol_lt.gif +0 -0
  165. data/data/images/symbol_maps.gif +0 -0
  166. data/data/images/symbol_minus.gif +0 -0
  167. data/data/images/symbol_ne.gif +0 -0
  168. data/data/images/symbol_plusmn.gif +0 -0
  169. data/data/images/symbol_radic.gif +0 -0
  170. data/data/images/symbol_rceil.gif +0 -0
  171. data/data/images/symbol_rfloor.gif +0 -0
  172. data/data/images/symbol_sum.gif +0 -0
  173. data/data/images/symbol_times.gif +0 -0
  174. data/data/problems/1.yml +5 -3
  175. data/data/problems/10.yml +3 -4
  176. data/data/problems/100.yml +7 -9
  177. data/data/problems/101.yml +32 -45
  178. data/data/problems/102.yml +11 -12
  179. data/data/problems/103.yml +18 -22
  180. data/data/problems/104.yml +9 -11
  181. data/data/problems/105.yml +12 -17
  182. data/data/problems/106.yml +14 -15
  183. data/data/problems/107.yml +16 -16
  184. data/data/problems/108.yml +17 -28
  185. data/data/problems/109.yml +27 -29
  186. data/data/problems/11.yml +24 -29
  187. data/data/problems/110.yml +11 -15
  188. data/data/problems/111.yml +27 -17
  189. data/data/problems/112.yml +13 -11
  190. data/data/problems/113.yml +11 -9
  191. data/data/problems/114.yml +46 -100
  192. data/data/problems/115.yml +15 -12
  193. data/data/problems/116.yml +33 -72
  194. data/data/problems/117.yml +36 -78
  195. data/data/problems/118.yml +5 -5
  196. data/data/problems/119.yml +9 -7
  197. data/data/problems/12.yml +8 -9
  198. data/data/problems/120.yml +7 -13
  199. data/data/problems/121.yml +9 -11
  200. data/data/problems/122.yml +21 -38
  201. data/data/problems/123.yml +9 -9
  202. data/data/problems/124.yml +24 -54
  203. data/data/problems/125.yml +7 -8
  204. data/data/problems/126.yml +12 -13
  205. data/data/problems/127.yml +21 -27
  206. data/data/problems/128.yml +19 -14
  207. data/data/problems/129.yml +9 -8
  208. data/data/problems/13.yml +52 -2
  209. data/data/problems/130.yml +12 -15
  210. data/data/problems/131.yml +9 -8
  211. data/data/problems/132.yml +7 -8
  212. data/data/problems/133.yml +9 -9
  213. data/data/problems/134.yml +7 -15
  214. data/data/problems/135.yml +9 -16
  215. data/data/problems/136.yml +9 -13
  216. data/data/problems/137.yml +22 -32
  217. data/data/problems/138.yml +11 -16
  218. data/data/problems/139.yml +11 -11
  219. data/data/problems/14.yml +14 -24
  220. data/data/problems/140.yml +18 -25
  221. data/data/problems/141.yml +10 -11
  222. data/data/problems/142.yml +3 -10
  223. data/data/problems/143.yml +13 -16
  224. data/data/problems/144.yml +23 -26
  225. data/data/problems/145.yml +7 -7
  226. data/data/problems/146.yml +6 -6
  227. data/data/problems/147.yml +7 -8
  228. data/data/problems/148.yml +15 -7
  229. data/data/problems/149.yml +26 -35
  230. data/data/problems/15.yml +7 -7
  231. data/data/problems/150.yml +18 -29
  232. data/data/problems/151.yml +17 -15
  233. data/data/problems/152.yml +11 -8
  234. data/data/problems/153.yml +38 -53
  235. data/data/problems/154.yml +10 -12
  236. data/data/problems/155.yml +12 -15
  237. data/data/problems/156.yml +20 -22
  238. data/data/problems/157.yml +26 -28
  239. data/data/problems/158.yml +13 -14
  240. data/data/problems/159.yml +15 -25
  241. data/data/problems/16.yml +5 -2
  242. data/data/problems/160.yml +3 -4
  243. data/data/problems/161.yml +6 -10
  244. data/data/problems/162.yml +10 -11
  245. data/data/problems/163.yml +13 -15
  246. data/data/problems/164.yml +3 -3
  247. data/data/problems/165.yml +25 -28
  248. data/data/problems/166.yml +7 -11
  249. data/data/problems/167.yml +10 -12
  250. data/data/problems/168.yml +7 -9
  251. data/data/problems/169.yml +4 -5
  252. data/data/problems/17.yml +7 -7
  253. data/data/problems/170.yml +7 -10
  254. data/data/problems/171.yml +7 -9
  255. data/data/problems/172.yml +3 -2
  256. data/data/problems/173.yml +9 -7
  257. data/data/problems/174.yml +13 -15
  258. data/data/problems/175.yml +13 -15
  259. data/data/problems/176.yml +5 -5
  260. data/data/problems/177.yml +13 -12
  261. data/data/problems/178.yml +5 -5
  262. data/data/problems/179.yml +3 -6
  263. data/data/problems/18.yml +13 -17
  264. data/data/problems/180.yml +20 -25
  265. data/data/problems/181.yml +7 -3
  266. data/data/problems/182.yml +22 -27
  267. data/data/problems/183.yml +17 -23
  268. data/data/problems/184.yml +11 -14
  269. data/data/problems/185.yml +17 -18
  270. data/data/problems/186.yml +16 -24
  271. data/data/problems/187.yml +9 -12
  272. data/data/problems/188.yml +5 -6
  273. data/data/problems/189.yml +5 -7
  274. data/data/problems/19.yml +7 -8
  275. data/data/problems/190.yml +7 -9
  276. data/data/problems/191.yml +9 -10
  277. data/data/problems/192.yml +14 -22
  278. data/data/problems/193.yml +5 -3
  279. data/data/problems/194.yml +11 -14
  280. data/data/problems/195.yml +7 -9
  281. data/data/problems/196.yml +13 -21
  282. data/data/problems/197.yml +7 -11
  283. data/data/problems/198.yml +13 -16
  284. data/data/problems/199.yml +10 -10
  285. data/data/problems/2.yml +6 -6
  286. data/data/problems/20.yml +10 -18
  287. data/data/problems/200.yml +8 -8
  288. data/data/problems/201.yml +14 -16
  289. data/data/problems/202.yml +11 -10
  290. data/data/problems/203.yml +11 -16
  291. data/data/problems/204.yml +7 -7
  292. data/data/problems/205.yml +6 -6
  293. data/data/problems/206.yml +2 -2
  294. data/data/problems/207.yml +13 -16
  295. data/data/problems/208.yml +8 -8
  296. data/data/problems/209.yml +11 -23
  297. data/data/problems/21.yml +8 -9
  298. data/data/problems/210.yml +6 -6
  299. data/data/problems/211.yml +7 -7
  300. data/data/problems/212.yml +26 -36
  301. data/data/problems/213.yml +6 -7
  302. data/data/problems/214.yml +10 -11
  303. data/data/problems/215.yml +11 -14
  304. data/data/problems/216.yml +7 -10
  305. data/data/problems/217.yml +14 -23
  306. data/data/problems/218.yml +9 -10
  307. data/data/problems/219.yml +10 -15
  308. data/data/problems/22.yml +7 -9
  309. data/data/problems/220.yml +15 -20
  310. data/data/problems/221.yml +10 -16
  311. data/data/problems/222.yml +5 -3
  312. data/data/problems/223.yml +6 -8
  313. data/data/problems/224.yml +6 -8
  314. data/data/problems/225.yml +6 -7
  315. data/data/problems/226.yml +9 -12
  316. data/data/problems/227.yml +9 -9
  317. data/data/problems/228.yml +14 -17
  318. data/data/problems/229.yml +17 -25
  319. data/data/problems/23.yml +11 -15
  320. data/data/problems/230.yml +15 -19
  321. data/data/problems/231.yml +8 -12
  322. data/data/problems/232.yml +9 -10
  323. data/data/problems/233.yml +7 -6
  324. data/data/problems/234.yml +14 -19
  325. data/data/problems/235.yml +4 -5
  326. data/data/problems/236.yml +20 -22
  327. data/data/problems/237.yml +14 -9
  328. data/data/problems/238.yml +21 -33
  329. data/data/problems/239.yml +5 -5
  330. data/data/problems/24.yml +7 -6
  331. data/data/problems/240.yml +7 -7
  332. data/data/problems/241.yml +9 -12
  333. data/data/problems/242.yml +7 -9
  334. data/data/problems/243.yml +14 -15
  335. data/data/problems/244.yml +19 -28
  336. data/data/problems/245.yml +22 -30
  337. data/data/problems/246.yml +10 -13
  338. data/data/problems/247.yml +14 -17
  339. data/data/problems/248.yml +5 -2
  340. data/data/problems/249.yml +3 -3
  341. data/data/problems/25.yml +12 -11
  342. data/data/problems/250.yml +3 -3
  343. data/data/problems/251.yml +11 -9
  344. data/data/problems/252.yml +24 -25
  345. data/data/problems/253.yml +19 -32
  346. data/data/problems/254.yml +13 -17
  347. data/data/problems/255.yml +40 -50
  348. data/data/problems/256.yml +31 -39
  349. data/data/problems/257.yml +10 -14
  350. data/data/problems/258.yml +7 -9
  351. data/data/problems/259.yml +14 -12
  352. data/data/problems/26.yml +17 -7
  353. data/data/problems/260.yml +21 -25
  354. data/data/problems/261.yml +13 -15
  355. data/data/problems/262.yml +15 -16
  356. data/data/problems/263.yml +13 -15
  357. data/data/problems/264.yml +15 -16
  358. data/data/problems/265.yml +10 -12
  359. data/data/problems/266.yml +6 -6
  360. data/data/problems/267.yml +13 -10
  361. data/data/problems/268.yml +5 -4
  362. data/data/problems/269.yml +10 -11
  363. data/data/problems/27.yml +15 -21
  364. data/data/problems/270.yml +13 -13
  365. data/data/problems/271.yml +7 -9
  366. data/data/problems/272.yml +8 -11
  367. data/data/problems/273.yml +13 -17
  368. data/data/problems/274.yml +16 -19
  369. data/data/problems/275.yml +13 -15
  370. data/data/problems/276.yml +5 -7
  371. data/data/problems/277.yml +17 -20
  372. data/data/problems/278.yml +20 -28
  373. data/data/problems/279.yml +4 -3
  374. data/data/problems/28.yml +6 -13
  375. data/data/problems/280.yml +9 -9
  376. data/data/problems/281.yml +10 -13
  377. data/data/problems/282.yml +9 -6
  378. data/data/problems/283.yml +8 -8
  379. data/data/problems/284.yml +15 -18
  380. data/data/problems/285.yml +11 -11
  381. data/data/problems/286.yml +7 -8
  382. data/data/problems/287.yml +22 -32
  383. data/data/problems/288.yml +10 -11
  384. data/data/problems/289.yml +14 -15
  385. data/data/problems/29.yml +13 -20
  386. data/data/problems/290.yml +3 -4
  387. data/data/problems/291.yml +3 -6
  388. data/data/problems/292.yml +8 -9
  389. data/data/problems/293.yml +9 -10
  390. data/data/problems/294.yml +6 -6
  391. data/data/problems/295.yml +16 -21
  392. data/data/problems/296.yml +9 -11
  393. data/data/problems/297.yml +12 -15
  394. data/data/problems/298.yml +29 -29
  395. data/data/problems/299.yml +15 -21
  396. data/data/problems/3.yml +3 -3
  397. data/data/problems/30.yml +7 -8
  398. data/data/problems/300.yml +15 -16
  399. data/data/problems/301.yml +15 -17
  400. data/data/problems/302.yml +13 -14
  401. data/data/problems/303.yml +9 -7
  402. data/data/problems/304.yml +10 -15
  403. data/data/problems/305.yml +6 -10
  404. data/data/problems/306.yml +20 -24
  405. data/data/problems/307.yml +7 -8
  406. data/data/problems/308.yml +19 -30
  407. data/data/problems/309.yml +11 -12
  408. data/data/problems/31.yml +11 -14
  409. data/data/problems/310.yml +10 -15
  410. data/data/problems/311.yml +11 -17
  411. data/data/problems/312.yml +10 -11
  412. data/data/problems/313.yml +13 -13
  413. data/data/problems/314.yml +23 -25
  414. data/data/problems/315.yml +39 -45
  415. data/data/problems/316.yml +13 -13
  416. data/data/problems/317.yml +6 -7
  417. data/data/problems/318.yml +35 -57
  418. data/data/problems/319.yml +15 -19
  419. data/data/problems/32.yml +9 -10
  420. data/data/problems/320.yml +9 -8
  421. data/data/problems/321.yml +8 -9
  422. data/data/problems/322.yml +6 -8
  423. data/data/problems/323.yml +12 -15
  424. data/data/problems/324.yml +10 -13
  425. data/data/problems/325.yml +15 -21
  426. data/data/problems/326.yml +15 -8
  427. data/data/problems/327.yml +19 -23
  428. data/data/problems/328.yml +28 -31
  429. data/data/problems/329.yml +12 -13
  430. data/data/problems/33.yml +9 -9
  431. data/data/problems/330.yml +17 -36
  432. data/data/problems/331.yml +16 -22
  433. data/data/problems/332.yml +9 -11
  434. data/data/problems/333.yml +17 -20
  435. data/data/problems/334.yml +22 -34
  436. data/data/problems/335.yml +11 -12
  437. data/data/problems/336.yml +18 -20
  438. data/data/problems/337.yml +9 -11
  439. data/data/problems/338.yml +27 -37
  440. data/data/problems/339.yml +9 -9
  441. data/data/problems/34.yml +7 -3
  442. data/data/problems/340.yml +8 -10
  443. data/data/problems/341.yml +12 -14
  444. data/data/problems/342.yml +9 -13
  445. data/data/problems/343.yml +18 -25
  446. data/data/problems/344.yml +16 -17
  447. data/data/problems/345.yml +17 -22
  448. data/data/problems/346.yml +7 -7
  449. data/data/problems/347.yml +9 -12
  450. data/data/problems/348.yml +7 -8
  451. data/data/problems/349.yml +8 -9
  452. data/data/problems/35.yml +7 -4
  453. data/data/problems/350.yml +12 -14
  454. data/data/problems/351.yml +8 -9
  455. data/data/problems/352.yml +38 -42
  456. data/data/problems/353.yml +17 -21
  457. data/data/problems/354.yml +11 -13
  458. data/data/problems/355.yml +4 -4
  459. data/data/problems/356.yml +6 -6
  460. data/data/problems/357.yml +5 -5
  461. data/data/problems/358.yml +16 -25
  462. data/data/problems/359.yml +19 -22
  463. data/data/problems/36.yml +7 -4
  464. data/data/problems/360.yml +8 -8
  465. data/data/problems/361.yml +14 -15
  466. data/data/problems/362.yml +16 -28
  467. data/data/problems/363.yml +22 -23
  468. data/data/problems/364.yml +9 -11
  469. data/data/problems/365.yml +7 -13
  470. data/data/problems/366.yml +19 -22
  471. data/data/problems/367.yml +14 -15
  472. data/data/problems/368.yml +18 -35
  473. data/data/problems/369.yml +7 -11
  474. data/data/problems/37.yml +7 -6
  475. data/data/problems/370.yml +10 -13
  476. data/data/problems/371.yml +8 -9
  477. data/data/problems/372.yml +9 -12
  478. data/data/problems/373.yml +5 -6
  479. data/data/problems/374.yml +17 -21
  480. data/data/problems/375.yml +13 -17
  481. data/data/problems/376.yml +19 -21
  482. data/data/problems/377.yml +6 -7
  483. data/data/problems/378.yml +8 -11
  484. data/data/problems/379.yml +9 -11
  485. data/data/problems/38.yml +9 -13
  486. data/data/problems/380.yml +14 -17
  487. data/data/problems/381.yml +12 -18
  488. data/data/problems/382.yml +16 -19
  489. data/data/problems/383.yml +7 -9
  490. data/data/problems/384.yml +20 -24
  491. data/data/problems/385.yml +12 -16
  492. data/data/problems/386.yml +9 -11
  493. data/data/problems/387.yml +14 -15
  494. data/data/problems/388.yml +6 -8
  495. data/data/problems/389.yml +8 -8
  496. data/data/problems/39.yml +7 -6
  497. data/data/problems/390.yml +9 -14
  498. data/data/problems/391.yml +21 -25
  499. data/data/problems/392.yml +16 -17
  500. data/data/problems/393.yml +5 -6
  501. data/data/problems/394.yml +15 -18
  502. data/data/problems/395.yml +12 -13
  503. data/data/problems/396.yml +17 -22
  504. data/data/problems/397.yml +13 -16
  505. data/data/problems/398.yml +8 -9
  506. data/data/problems/399.yml +18 -18
  507. data/data/problems/4.yml +5 -4
  508. data/data/problems/40.yml +11 -14
  509. data/data/problems/400.yml +10 -11
  510. data/data/problems/401.yml +6 -7
  511. data/data/problems/402.yml +16 -21
  512. data/data/problems/403.yml +12 -14
  513. data/data/problems/404.yml +14 -16
  514. data/data/problems/405.yml +10 -11
  515. data/data/problems/406.yml +35 -41
  516. data/data/problems/407.yml +9 -16
  517. data/data/problems/408.yml +9 -9
  518. data/data/problems/409.yml +5 -7
  519. data/data/problems/41.yml +5 -4
  520. data/data/problems/410.yml +10 -13
  521. data/data/problems/411.yml +15 -19
  522. data/data/problems/412.yml +11 -15
  523. data/data/problems/413.yml +8 -8
  524. data/data/problems/414.yml +29 -34
  525. data/data/problems/415.yml +12 -15
  526. data/data/problems/416.yml +7 -7
  527. data/data/problems/417.yml +16 -17
  528. data/data/problems/418.yml +9 -12
  529. data/data/problems/419.yml +13 -18
  530. data/data/problems/42.yml +9 -10
  531. data/data/problems/420.yml +5 -6
  532. data/data/problems/421.yml +14 -25
  533. data/data/problems/422.yml +16 -18
  534. data/data/problems/423.yml +16 -18
  535. data/data/problems/424.yml +18 -19
  536. data/data/problems/425.yml +11 -12
  537. data/data/problems/426.yml +20 -21
  538. data/data/problems/427.yml +11 -13
  539. data/data/problems/428.yml +21 -25
  540. data/data/problems/429.yml +6 -6
  541. data/data/problems/43.yml +15 -13
  542. data/data/problems/430.yml +14 -16
  543. data/data/problems/44.yml +9 -12
  544. data/data/problems/45.yml +11 -11
  545. data/data/problems/46.yml +9 -14
  546. data/data/problems/47.yml +11 -16
  547. data/data/problems/48.yml +5 -3
  548. data/data/problems/49.yml +7 -6
  549. data/data/problems/5.yml +5 -4
  550. data/data/problems/50.yml +11 -6
  551. data/data/problems/51.yml +9 -11
  552. data/data/problems/52.yml +5 -4
  553. data/data/problems/53.yml +15 -24
  554. data/data/problems/54.yml +29 -39
  555. data/data/problems/55.yml +16 -17
  556. data/data/problems/56.yml +5 -7
  557. data/data/problems/57.yml +10 -11
  558. data/data/problems/58.yml +11 -18
  559. data/data/problems/59.yml +11 -19
  560. data/data/problems/6.yml +13 -9
  561. data/data/problems/60.yml +5 -6
  562. data/data/problems/61.yml +18 -26
  563. data/data/problems/62.yml +5 -5
  564. data/data/problems/63.yml +5 -3
  565. data/data/problems/64.yml +52 -126
  566. data/data/problems/65.yml +21 -47
  567. data/data/problems/66.yml +13 -23
  568. data/data/problems/67.yml +10 -13
  569. data/data/problems/68.yml +15 -19
  570. data/data/problems/69.yml +18 -10
  571. data/data/problems/7.yml +5 -2
  572. data/data/problems/70.yml +10 -12
  573. data/data/problems/71.yml +11 -13
  574. data/data/problems/72.yml +11 -12
  575. data/data/problems/73.yml +11 -12
  576. data/data/problems/74.yml +25 -37
  577. data/data/problems/75.yml +10 -12
  578. data/data/problems/76.yml +4 -4
  579. data/data/problems/77.yml +4 -4
  580. data/data/problems/78.yml +13 -8
  581. data/data/problems/79.yml +7 -7
  582. data/data/problems/8.yml +14 -8
  583. data/data/problems/80.yml +7 -7
  584. data/data/problems/81.yml +9 -15
  585. data/data/problems/82.yml +10 -15
  586. data/data/problems/83.yml +10 -19
  587. data/data/problems/84.yml +36 -59
  588. data/data/problems/85.yml +7 -5
  589. data/data/problems/86.yml +11 -11
  590. data/data/problems/87.yml +7 -8
  591. data/data/problems/88.yml +30 -49
  592. data/data/problems/89.yml +13 -14
  593. data/data/problems/9.yml +6 -9
  594. data/data/problems/90.yml +16 -18
  595. data/data/problems/91.yml +10 -15
  596. data/data/problems/92.yml +14 -25
  597. data/data/problems/93.yml +13 -17
  598. data/data/problems/94.yml +7 -7
  599. data/data/problems/95.yml +13 -19
  600. data/data/problems/96.yml +24 -40
  601. data/data/problems/97.yml +7 -10
  602. data/data/problems/98.yml +9 -12
  603. data/data/problems/99.yml +9 -12
  604. data/euler-manager.gemspec +1 -0
  605. data/example/1/README.md +4 -4
  606. data/example/15/README.md +8 -0
  607. data/example/15/python/15.py +5 -0
  608. data/example/15/python/euler.py +0 -0
  609. data/example/2/README.md +7 -5
  610. data/example/Eulerfile.rb +1 -0
  611. data/lib/euler/problem.rb +6 -1
  612. data/lib/euler/solution.rb +4 -2
  613. data/lib/euler/version.rb +1 -1
  614. data/rake/clean.rake +16 -0
  615. data/rake/update.rake +88 -0
  616. data/spec/euler/solution_spec.rb +2 -1
  617. data/templates/Eulerfile.rb +12 -0
  618. metadata +189 -29
  619. data/data/problems/431.yml +0 -33
  620. data/data/problems/432.yml +0 -13
  621. data/data/problems/433.yml +0 -18
  622. data/data/problems/434.yml +0 -32
  623. data/data/problems/435.yml +0 -21
  624. data/data/problems/436.yml +0 -21
  625. data/data/problems/437.yml +0 -22
  626. data/data/problems/438.yml +0 -29
  627. data/data/problems/439.yml +0 -17
  628. data/data/problems/440.yml +0 -21
  629. data/data/problems/441.yml +0 -23
  630. data/data/problems/442.yml +0 -9
  631. data/data/problems/443.yml +0 -13
  632. data/data/problems/444.yml +0 -28
  633. data/data/problems/445.yml +0 -37
  634. data/data/problems/446.yml +0 -29
  635. data/data/problems/447.yml +0 -31
  636. data/data/problems/448.yml +0 -14
  637. data/data/problems/449.yml +0 -17
  638. data/data/problems/450.yml +0 -26
  639. data/data/problems/451.yml +0 -15
  640. data/data/problems/452.yml +0 -8
  641. data/data/problems/453.yml +0 -16
  642. data/data/problems/454.yml +0 -17
  643. data/data/problems/455.yml +0 -16
  644. data/data/problems/456.yml +0 -15
  645. data/scripts/update_problems +0 -68
data/data/problems/73.yml CHANGED
@@ -2,15 +2,14 @@
2
2
  :id: 73
3
3
  :name: Counting fractions in a range
4
4
  :url: http://projecteuler.net/problem=73
5
- :content: "\r\n<p>Consider the fraction, <i>n/d</i>, where <i>n</i> and <i>d</i> are
6
- positive integers. If <i>n</i><img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\"
7
- alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><i>d</i> and HCF(<i>n,d</i>)=1,
8
- it is called a reduced proper fraction.</p>\r\n<p>If we list the set of reduced
9
- proper fractions for <i>d</i> <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
10
- alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 8 in ascending order of
11
- size, we get:</p>\r\n<p style=\"text-align:center;font-size:8pt;\">1/8, 1/7, 1/6,
12
- 1/5, 1/4, 2/7, 1/3, <b>3/8, 2/5, 3/7</b>, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5,
13
- 5/6, 6/7, 7/8</p>\r\n<p>It can be seen that there are 3 fractions between 1/3 and
14
- 1/2.</p>\r\n<p>How many fractions lie between 1/3 and 1/2 in the sorted set of reduced
15
- proper fractions for <i>d</i> <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
16
- alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 12,000?</p>\r\n\r\n\r\n"
5
+ :content: |+
6
+ Consider the fraction, _n/d_, where _n_ and _d_ are positive integers. If _n_ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)_d_ and HCF(_n,d_)=1, it is called a reduced proper fraction.
7
+
8
+ If we list the set of reduced proper fractions for _d_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 8 in ascending order of size, we get:
9
+
10
+ 1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, **3/8, 2/5, 3/7** , 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8
11
+
12
+ It can be seen that there are 3 fractions between 1/3 and 1/2.
13
+
14
+ How many fractions lie between 1/3 and 1/2 in the sorted set of reduced proper fractions for _d_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 12,000?
15
+
data/data/problems/74.yml CHANGED
@@ -2,40 +2,28 @@
2
2
  :id: 74
3
3
  :name: Digit factorial chains
4
4
  :url: http://projecteuler.net/problem=74
5
- :content: "\r\n\n<p>The number 145 is well known for the property that the sum of
6
- the factorial of its digits is equal to 145:</p>\n<p style=\"margin-left:50px;\">1!
7
- + 4! + 5! = 1 + 24 + 120 = 145</p>\n<p>Perhaps less well known is 169, in that it
8
- produces the longest chain of numbers that link back to 169; it turns out that there
9
- are only three such loops that exist:</p>\n<p style=\"margin-left:50px;\">169 <img
10
- src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
11
- style=\"vertical-align:middle;\"> 363601 <img src=\"images/symbol_maps.gif\" width=\"15\"
12
- height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 1454 <img
13
- src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
14
- style=\"vertical-align:middle;\"> 169<br>\n871 <img src=\"images/symbol_maps.gif\"
15
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
16
- 45361 <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
17
- style=\"vertical-align:middle;\"> 871<br>\n872 <img src=\"images/symbol_maps.gif\"
18
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
19
- 45362 <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
20
- style=\"vertical-align:middle;\"> 872</p>\n<p>It is not difficult to prove that
21
- EVERY starting number will eventually get stuck in a loop. For example,</p>\n<p
22
- style=\"margin-left:50px;\">69 <img src=\"images/symbol_maps.gif\" width=\"15\"
23
- height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 363600 <img
24
- src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
25
- style=\"vertical-align:middle;\"> 1454 <img src=\"images/symbol_maps.gif\" width=\"15\"
26
- height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 169 <img src=\"images/symbol_maps.gif\"
27
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
28
- 363601 (<img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\"
29
- border=\"0\" style=\"vertical-align:middle;\"> 1454)<br>\n78 <img src=\"images/symbol_maps.gif\"
30
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
31
- 45360 <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
32
- style=\"vertical-align:middle;\"> 871 <img src=\"images/symbol_maps.gif\" width=\"15\"
33
- height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 45361 (<img
34
- src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
35
- style=\"vertical-align:middle;\"> 871)<br>\n540 <img src=\"images/symbol_maps.gif\"
36
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
37
- 145 (<img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\" border=\"0\"
38
- style=\"vertical-align:middle;\"> 145)</p>\n<p>Starting with 69 produces a chain
39
- of five non-repeating terms, but the longest non-repeating chain with a starting
40
- number below one million is sixty terms.</p>\n<p>How many chains, with a starting
41
- number below one million, contain exactly sixty non-repeating terms?</p>\n\r\n"
5
+ :content: "The number 145 is well known for the property that the sum of the factorial
6
+ of its digits is equal to 145:\n\n1! + 4! + 5! = 1 + 24 + 120 = 145\n\nPerhaps less
7
+ well known is 169, in that it produces the longest chain of numbers that link back
8
+ to 169; it turns out that there are only three such loops that exist:\n\n169 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
9
+ 363601 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
10
+ 1454 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 169
11
+ \ \n871 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
12
+ 45361 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 871
13
+ \ \n872 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
14
+ 45362 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 872\n\nIt
15
+ is not difficult to prove that EVERY starting number will eventually get stuck in
16
+ a loop. For example,\n\n69 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
17
+ 363600 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
18
+ 1454 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 169
19
+ ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 363601
20
+ ( ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 1454)
21
+ \ \n78 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
22
+ 45360 ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 871
23
+ ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 45361 (
24
+ ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 871) \n540
25
+ ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) 145 ( ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
26
+ 145)\n\nStarting with 69 produces a chain of five non-repeating terms, but the longest
27
+ non-repeating chain with a starting number below one million is sixty terms.\n\nHow
28
+ many chains, with a starting number below one million, contain exactly sixty non-repeating
29
+ terms?\n\n"
data/data/problems/75.yml CHANGED
@@ -2,15 +2,13 @@
2
2
  :id: 75
3
3
  :name: Singular integer right triangles
4
4
  :url: http://projecteuler.net/problem=75
5
- :content: "\r\n<p>It turns out that 12 cm is the smallest length of wire that can
6
- be bent to form an integer sided right angle triangle in exactly one way, but there
7
- are many more examples.</p>\r\n<p style=\"margin-left:50px;\"><b>12 cm</b>: (3,4,5)<br><b>24
8
- cm</b>: (6,8,10)<br><b>30 cm</b>: (5,12,13)<br><b>36 cm</b>: (9,12,15)<br><b>40
9
- cm</b>: (8,15,17)<br><b>48 cm</b>: (12,16,20)</p>\r\n<p>In contrast, some lengths
10
- of wire, like 20 cm, cannot be bent to form an integer sided right angle triangle,
11
- and other lengths allow more than one solution to be found; for example, using 120
12
- cm it is possible to form exactly three different integer sided right angle triangles.</p>\r\n<p
13
- style=\"margin-left:50px;\"><b>120 cm</b>: (30,40,50), (20,48,52), (24,45,51)</p>\r\n<p>Given
14
- that L is the length of the wire, for how many values of L <img src=\"images/symbol_le.gif\"
15
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
16
- 1,500,000 can exactly one integer sided right angle triangle be formed?</p>\r\n\r\n"
5
+ :content: "It turns out that 12 cm is the smallest length of wire that can be bent
6
+ to form an integer sided right angle triangle in exactly one way, but there are
7
+ many more examples.\n\n**12 cm** : (3,4,5) \n**24 cm** : (6,8,10) \n**30 cm**
8
+ : (5,12,13) \n**36 cm** : (9,12,15) \n**40 cm** : (8,15,17) \n**48 cm** : (12,16,20)\n\nIn
9
+ contrast, some lengths of wire, like 20 cm, cannot be bent to form an integer sided
10
+ right angle triangle, and other lengths allow more than one solution to be found;
11
+ for example, using 120 cm it is possible to form exactly three different integer
12
+ sided right angle triangles.\n\n**120 cm** : (30,40,50), (20,48,52), (24,45,51)\n\nGiven
13
+ that L is the length of the wire, for how many values of L ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
14
+ 1,500,000 can exactly one integer sided right angle triangle be formed?\n\n"
data/data/problems/76.yml CHANGED
@@ -2,7 +2,7 @@
2
2
  :id: 76
3
3
  :name: Counting summations
4
4
  :url: http://projecteuler.net/problem=76
5
- :content: "\r\n\n<p>It is possible to write five as a sum in exactly six different
6
- ways:</p>\n<p style=\"margin-left:50px;\">4 + 1<br>\n3 + 2<br>\n3 + 1 + 1<br>\n2
7
- + 2 + 1<br>\n2 + 1 + 1 + 1<br>\n1 + 1 + 1 + 1 + 1</p>\n<p>How many different ways
8
- can one hundred be written as a sum of at least two positive integers?</p>\n\r\n"
5
+ :content: "It is possible to write five as a sum in exactly six different ways:\n\n4
6
+ + 1 \n3 + 2 \n3 + 1 + 1 \n2 + 2 + 1 \n2 + 1 + 1 + 1 \n1 + 1 + 1 + 1 + 1\n\nHow
7
+ many different ways can one hundred be written as a sum of at least two positive
8
+ integers?\n\n"
data/data/problems/77.yml CHANGED
@@ -2,7 +2,7 @@
2
2
  :id: 77
3
3
  :name: Prime summations
4
4
  :url: http://projecteuler.net/problem=77
5
- :content: "\r\n\n<p>It is possible to write ten as the sum of primes in exactly five
6
- different ways:</p>\n<p style=\"margin-left:50px;\">7 + 3<br>\n5 + 5<br>\n5 + 3
7
- + 2<br>\n3 + 3 + 2 + 2<br>\n2 + 2 + 2 + 2 + 2</p>\n<p>What is the first value which
8
- can be written as the sum of primes in over five thousand different ways?</p>\n\r\n"
5
+ :content: "It is possible to write ten as the sum of primes in exactly five different
6
+ ways:\n\n7 + 3 \n5 + 5 \n5 + 3 + 2 \n3 + 3 + 2 + 2 \n2 + 2 + 2 + 2 + 2\n\nWhat
7
+ is the first value which can be written as the sum of primes in over five thousand
8
+ different ways?\n\n"
data/data/problems/78.yml CHANGED
@@ -2,11 +2,16 @@
2
2
  :id: 78
3
3
  :name: Coin partitions
4
4
  :url: http://projecteuler.net/problem=78
5
- :content: "\r\n<p>Let p(<i>n</i>) represent the number of different ways in which
6
- <i>n</i> coins can be separated into piles. For example, five coins can separated
7
- into piles in exactly seven different ways, so p(5)=7.</p>\r\n<div style=\"text-align:center;\">\r\n<table
8
- cellspacing=\"0\" cellpadding=\"10\">\n<tr>\n<td>OOOOO</td>\r\n</tr>\n<tr>\n<td>OOOO 
9
-  O</td>\r\n</tr>\n<tr>\n<td>OOO   OO</td>\r\n</tr>\n<tr>\n<td>OOO   O   O</td>\r\n</tr>\n<tr>\n<td>OO 
10
-  OO   O</td>\r\n</tr>\n<tr>\n<td>OO   O   O   O</td>\r\n</tr>\n<tr>\n<td>O   O 
11
-  O   O   O</td>\r\n</tr>\n</table>\n</div>\r\n<p>Find the least value of <i>n</i>
12
- for which p(<i>n</i>) is divisible by one million.</p>\r\n\r\n"
5
+ :content: |+
6
+ Let p(_n_) represent the number of different ways in which _n_ coins can be separated into piles. For example, five coins can separated into piles in exactly seven different ways, so p(5)=7.
7
+
8
+ | OOOOO |
9
+ | OOOO   O |
10
+ | OOO   OO |
11
+ | OOO   O   O |
12
+ | OO   OO   O |
13
+ | OO   O   O   O |
14
+ | O   O   O   O   O |
15
+
16
+ Find the least value of _n_ for which p(_n_) is divisible by one million.
17
+
data/data/problems/79.yml CHANGED
@@ -2,10 +2,10 @@
2
2
  :id: 79
3
3
  :name: Passcode derivation
4
4
  :url: http://projecteuler.net/problem=79
5
- :content: "\r\n<p>A common security method used for online banking is to ask the user
6
- for three random characters from a passcode. For example, if the passcode was 531278,
7
- they may ask for the 2nd, 3rd, and 5th characters; the expected reply would be:
8
- 317.</p>\r\n<p>The text file, <a href=\"project/keylog.txt\">keylog.txt</a>, contains
9
- fifty successful login attempts.</p>\r\n<p>Given that the three characters are always
10
- asked for in order, analyse the file so as to determine the shortest possible secret
11
- passcode of unknown length.</p>\r\n\r\n"
5
+ :content: |+
6
+ A common security method used for online banking is to ask the user for three random characters from a passcode. For example, if the passcode was 531278, they may ask for the 2nd, 3rd, and 5th characters; the expected reply would be: 317.
7
+
8
+ The text file, [keylog.txt](project/keylog.txt), contains fifty successful login attempts.
9
+
10
+ Given that the three characters are always asked for in order, analyse the file so as to determine the shortest possible secret passcode of unknown length.
11
+
data/data/problems/8.yml CHANGED
@@ -2,12 +2,18 @@
2
2
  :id: 8
3
3
  :name: Largest product in a series
4
4
  :url: http://projecteuler.net/problem=8
5
- :content: "\r\n<p>The four adjacent digits in the 1000-digit number that have the
6
- greatest product are 9 <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\"
7
- alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"> 9 <img src=\"images/symbol_times.gif\"
8
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">
9
- 8 <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
10
- style=\"vertical-align:middle;\"> 9 = 5832.</p>\r\n<p style=\"font-family:courier
11
- new;text-align:center;\">\r\n73167176531330624919225119674426574742355349194934<br>\r\n96983520312774506326239578318016984801869478851843<br>\r\n85861560789112949495459501737958331952853208805511<br>\r\n12540698747158523863050715693290963295227443043557<br>\r\n66896648950445244523161731856403098711121722383113<br>\r\n62229893423380308135336276614282806444486645238749<br>\r\n30358907296290491560440772390713810515859307960866<br>\r\n70172427121883998797908792274921901699720888093776<br>\r\n65727333001053367881220235421809751254540594752243<br>\r\n52584907711670556013604839586446706324415722155397<br>\r\n53697817977846174064955149290862569321978468622482<br>\r\n83972241375657056057490261407972968652414535100474<br>\r\n82166370484403199890008895243450658541227588666881<br>\r\n16427171479924442928230863465674813919123162824586<br>\r\n17866458359124566529476545682848912883142607690042<br>\r\n24219022671055626321111109370544217506941658960408<br>\r\n07198403850962455444362981230987879927244284909188<br>\r\n84580156166097919133875499200524063689912560717606<br>\r\n05886116467109405077541002256983155200055935729725<br>\r\n71636269561882670428252483600823257530420752963450<br></p>\r\n<p>Find
5
+ :content: "The four adjacent digits in the 1000-digit number that have the greatest
6
+ product are 9 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
7
+ 9 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 8 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
8
+ 9 = 5832.\n\n73167176531330624919225119674426574742355349194934 \n\r96983520312774506326239578318016984801869478851843
9
+ \ \n\r85861560789112949495459501737958331952853208805511 \n\r12540698747158523863050715693290963295227443043557
10
+ \ \n\r66896648950445244523161731856403098711121722383113 \n\r62229893423380308135336276614282806444486645238749
11
+ \ \n\r30358907296290491560440772390713810515859307960866 \n\r70172427121883998797908792274921901699720888093776
12
+ \ \n\r65727333001053367881220235421809751254540594752243 \n\r52584907711670556013604839586446706324415722155397
13
+ \ \n\r53697817977846174064955149290862569321978468622482 \n\r83972241375657056057490261407972968652414535100474
14
+ \ \n\r82166370484403199890008895243450658541227588666881 \n\r16427171479924442928230863465674813919123162824586
15
+ \ \n\r17866458359124566529476545682848912883142607690042 \n\r24219022671055626321111109370544217506941658960408
16
+ \ \n\r07198403850962455444362981230987879927244284909188 \n\r84580156166097919133875499200524063689912560717606
17
+ \ \n\r05886116467109405077541002256983155200055935729725 \n\r71636269561882670428252483600823257530420752963450\n\nFind
12
18
  the thirteen adjacent digits in the 1000-digit number that have the greatest product.
13
- What is the value of this product?</p>\r\n"
19
+ What is the value of this product?\n\n"
data/data/problems/80.yml CHANGED
@@ -2,10 +2,10 @@
2
2
  :id: 80
3
3
  :name: Square root digital expansion
4
4
  :url: http://projecteuler.net/problem=80
5
- :content: "\r\n\n<p>It is well known that if the square root of a natural number is
6
- not an integer, then it is irrational. The decimal expansion of such square roots
7
- is infinite without any repeating pattern at all.</p>\n<p>The square root of two
8
- is 1.41421356237309504880..., and the digital sum of the first one hundred decimal
9
- digits is 475.</p>\n<p>For the first one hundred natural numbers, find the total
10
- of the digital sums of the first one hundred decimal digits for all the irrational
11
- square roots.</p>\n\r\n"
5
+ :content: |+
6
+ It is well known that if the square root of a natural number is not an integer, then it is irrational. The decimal expansion of such square roots is infinite without any repeating pattern at all.
7
+
8
+ The square root of two is 1.41421356237309504880..., and the digital sum of the first one hundred decimal digits is 475.
9
+
10
+ For the first one hundred natural numbers, find the total of the digital sums of the first one hundred decimal digits for all the irrational square roots.
11
+
data/data/problems/81.yml CHANGED
@@ -2,18 +2,12 @@
2
2
  :id: 81
3
3
  :name: 'Path sum: two ways'
4
4
  :url: http://projecteuler.net/problem=81
5
- :content: "\r\n<p>In the 5 by 5 matrix below, the minimal path sum from the top left
6
- to the bottom right, by <b>only moving to the right and down</b>, is indicated in
7
- bold red and is equal to 2427.</p>\r\n<div style=\"text-align:center;\">\r\n<table
8
- cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\"><tr>\n<td>\n<img
9
- src=\"images/bracket_left.gif\" width=\"8\" height=\"120\" alt=\"\" align=\"middle\"><br>\n</td>\r\n<td>\r\n<table
10
- cellpadding=\"3\" cellspacing=\"0\" border=\"0\">\n<tr>\n<td><span style=\"color:#dd0000;\"><b>131</b></span></td>\n<td>673</td>\n<td>234</td>\n<td>103</td>\n<td>18</td>\r\n</tr>\n<tr>\n<td><span
11
- style=\"color:#dd0000;\"><b>201</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>96</b></span></td>\n<td><span
12
- style=\"color:#dd0000;\"><b>342</b></span></td>\n<td>965</td>\n<td>150</td>\r\n</tr>\n<tr>\n<td>630</td>\n<td>803</td>\n<td><span
13
- style=\"color:#dd0000;\"><b>746</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>422</b></span></td>\n<td>111</td>\r\n</tr>\n<tr>\n<td>537</td>\n<td>699</td>\n<td>497</td>\n<td><span
14
- style=\"color:#dd0000;\"><b>121</b></span></td>\n<td>956</td>\r\n</tr>\n<tr>\n<td>805</td>\n<td>732</td>\n<td>524</td>\n<td><span
15
- style=\"color:#dd0000;\"><b>37</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>331</b></span></td>\r\n</tr>\n</table>\n</td>\r\n<td>\n<img
16
- src=\"images/bracket_right.gif\" width=\"8\" height=\"120\" alt=\"\" align=\"middle\"><br>\n</td>\r\n</tr></table>\n</div>\r\n<p>Find
17
- the minimal path sum, in <a href=\"project/matrix.txt\">matrix.txt</a> (right click
18
- and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix, from
19
- the top left to the bottom right by only moving right and down.</p>\r\n\r\n"
5
+ :content: "In the 5 by 5 matrix below, the minimal path sum from the top left to the
6
+ bottom right, by **only moving to the right and down** , is indicated in bold red
7
+ and is equal to 2427.\n\n| ![](/home/will/src/euler-manager/config/../data/images/bracket_left.gif)
8
+ \ \n | \n\n| **131** | 673 | 234 | 103 | 18 |\n| **201** | **96** | **342** | 965
9
+ | 150 |\n| 630 | 803 | **746** | **422** | 111 |\n| 537 | 699 | 497 | **121** |
10
+ 956 |\n| 805 | 732 | 524 | **37** | **331** |\n\n | ![](/home/will/src/euler-manager/config/../data/images/bracket_right.gif)
11
+ \ \n |\n\nFind the minimal path sum, in [matrix.txt](project/matrix.txt) (right
12
+ click and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix,
13
+ from the top left to the bottom right by only moving right and down.\n\n"
data/data/problems/82.yml CHANGED
@@ -2,18 +2,13 @@
2
2
  :id: 82
3
3
  :name: 'Path sum: three ways'
4
4
  :url: http://projecteuler.net/problem=82
5
- :content: "\r\n<p class=\"note\">NOTE: This problem is a more challenging version
6
- of <a href=\"problem=81\">Problem 81</a>.</p>\r\n<p>The minimal path sum in the
7
- 5 by 5 matrix below, by starting in any cell in the left column and finishing in
8
- any cell in the right column, and only moving up, down, and right, is indicated
9
- in red and bold; the sum is equal to 994.</p>\r\n<div style=\"text-align:center;\">\r\n<table
10
- cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\"><tr>\n<td>\n<img
11
- src=\"images/bracket_left.gif\" width=\"8\" height=\"120\" alt=\"\" align=\"middle\"><br>\n</td>\r\n<td>\r\n<table
12
- cellpadding=\"3\" cellspacing=\"0\" border=\"0\">\n<tr>\n<td>131</td>\n<td>673</td>\n<td><span
13
- style=\"color:#dd0000;\"><b>234</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>103</b></span></td>\n<td><span
14
- style=\"color:#dd0000;\"><b>18</b></span></td>\r\n</tr>\n<tr>\n<td><span style=\"color:#dd0000;\"><b>201</b></span></td>\n<td><span
15
- style=\"color:#dd0000;\"><b>96</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>342</b></span></td>\n<td>965</td>\n<td>150</td>\r\n</tr>\n<tr>\n<td>630</td>\n<td>803</td>\n<td>746</td>\n<td>422</td>\n<td>111</td>\r\n</tr>\n<tr>\n<td>537</td>\n<td>699</td>\n<td>497</td>\n<td>121</td>\n<td>956</td>\r\n</tr>\n<tr>\n<td>805</td>\n<td>732</td>\n<td>524</td>\n<td>37</td>\n<td>331</td>\r\n</tr>\n</table>\n</td>\r\n<td>\n<img
16
- src=\"images/bracket_right.gif\" width=\"8\" height=\"120\" alt=\"\" align=\"middle\"><br>\n</td>\r\n</tr></table>\n</div>\r\n<p>Find
17
- the minimal path sum, in <a href=\"project/matrix.txt\">matrix.txt</a> (right click
18
- and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix, from
19
- the left column to the right column.</p>\r\n\r\n"
5
+ :content: "NOTE: This problem is a more challenging version of [Problem 81](problem=81).\n\nThe
6
+ minimal path sum in the 5 by 5 matrix below, by starting in any cell in the left
7
+ column and finishing in any cell in the right column, and only moving up, down,
8
+ and right, is indicated in red and bold; the sum is equal to 994.\n\n| ![](/home/will/src/euler-manager/config/../data/images/bracket_left.gif)
9
+ \ \n | \n\n| 131 | 673 | **234** | **103** | **18** |\n| **201** | **96** | **342**
10
+ | 965 | 150 |\n| 630 | 803 | 746 | 422 | 111 |\n| 537 | 699 | 497 | 121 | 956 |\n|
11
+ 805 | 732 | 524 | 37 | 331 |\n\n | ![](/home/will/src/euler-manager/config/../data/images/bracket_right.gif)
12
+ \ \n |\n\nFind the minimal path sum, in [matrix.txt](project/matrix.txt) (right
13
+ click and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix,
14
+ from the left column to the right column.\n\n"
data/data/problems/83.yml CHANGED
@@ -2,22 +2,13 @@
2
2
  :id: 83
3
3
  :name: 'Path sum: four ways'
4
4
  :url: http://projecteuler.net/problem=83
5
- :content: "\r\n<p class=\"note\">NOTE: This problem is a significantly more challenging
6
- version of <a href=\"problem=81\">Problem 81</a>.</p>\r\n<p>In the 5 by 5 matrix
7
- below, the minimal path sum from the top left to the bottom right, by moving left,
8
- right, up, and down, is indicated in bold red and is equal to 2297.</p>\r\n<div
9
- style=\"text-align:center;\">\r\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"
10
- align=\"center\"><tr>\n<td>\n<img src=\"images/bracket_left.gif\" width=\"8\" height=\"120\"
11
- alt=\"\" align=\"middle\"><br>\n</td>\r\n<td>\r\n<table cellpadding=\"3\" cellspacing=\"0\"
12
- border=\"0\">\n<tr>\n<td><span style=\"color:#dd0000;\"><b>131</b></span></td>\n<td>673</td>\n<td><span
13
- style=\"color:#dd0000;\"><b>234</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>103</b></span></td>\n<td><span
14
- style=\"color:#dd0000;\"><b>18</b></span></td>\r\n</tr>\n<tr>\n<td><span style=\"color:#dd0000;\"><b>201</b></span></td>\n<td><span
15
- style=\"color:#dd0000;\"><b>96</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>342</b></span></td>\n<td>965</td>\n<td><span
16
- style=\"color:#dd0000;\"><b>150</b></span></td>\r\n</tr>\n<tr>\n<td>630</td>\n<td>803</td>\n<td>746</td>\n<td><span
17
- style=\"color:#dd0000;\"><b>422</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>111</b></span></td>\r\n</tr>\n<tr>\n<td>537</td>\n<td>699</td>\n<td>497</td>\n<td><span
18
- style=\"color:#dd0000;\"><b>121</b></span></td>\n<td>956</td>\r\n</tr>\n<tr>\n<td>805</td>\n<td>732</td>\n<td>524</td>\n<td><span
19
- style=\"color:#dd0000;\"><b>37</b></span></td>\n<td><span style=\"color:#dd0000;\"><b>331</b></span></td>\r\n</tr>\n</table>\n</td>\r\n<td>\n<img
20
- src=\"images/bracket_right.gif\" width=\"8\" height=\"120\" alt=\"\" align=\"middle\"><br>\n</td>\r\n</tr></table>\n</div>\r\n<p>Find
21
- the minimal path sum, in <a href=\"project/matrix.txt\">matrix.txt</a> (right click
22
- and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix, from
23
- the top left to the bottom right by moving left, right, up, and down.</p>\r\n\r\n"
5
+ :content: "NOTE: This problem is a significantly more challenging version of [Problem
6
+ 81](problem=81).\n\nIn the 5 by 5 matrix below, the minimal path sum from the top
7
+ left to the bottom right, by moving left, right, up, and down, is indicated in bold
8
+ red and is equal to 2297.\n\n| ![](/home/will/src/euler-manager/config/../data/images/bracket_left.gif)
9
+ \ \n | \n\n| **131** | 673 | **234** | **103** | **18** |\n| **201** | **96** |
10
+ **342** | 965 | **150** |\n| 630 | 803 | 746 | **422** | **111** |\n| 537 | 699
11
+ | 497 | **121** | 956 |\n| 805 | 732 | 524 | **37** | **331** |\n\n | ![](/home/will/src/euler-manager/config/../data/images/bracket_right.gif)
12
+ \ \n |\n\nFind the minimal path sum, in [matrix.txt](project/matrix.txt) (right
13
+ click and 'Save Link/Target As...'), a 31K text file containing a 80 by 80 matrix,
14
+ from the top left to the bottom right by moving left, right, up, and down.\n\n"
data/data/problems/84.yml CHANGED
@@ -2,62 +2,39 @@
2
2
  :id: 84
3
3
  :name: Monopoly odds
4
4
  :url: http://projecteuler.net/problem=84
5
- :content: "\r\n<p>In the game, <i>Monopoly</i>, the standard board is set up in the
6
- following way:</p>\r\n<div style=\"text-align:center;\">\r\n<table cellspacing=\"1\"
7
- cellpadding=\"5\" border=\"0\" style=\"background-color:#333333;\" align=\"center\">\n<tr>\n<td
8
- style=\"background-color:#ffffff;\">GO</td>\r\n<td style=\"background-color:#ffffff;\">A1</td>\r\n<td
9
- style=\"background-color:#ffffff;\">CC1</td>\r\n<td style=\"background-color:#ffffff;\">A2</td>\r\n<td
10
- style=\"background-color:#ffffff;\">T1</td>\r\n<td style=\"background-color:#ffffff;\">R1</td>\r\n<td
11
- style=\"background-color:#ffffff;\">B1</td>\r\n<td style=\"background-color:#ffffff;\">CH1</td>\r\n<td
12
- style=\"background-color:#ffffff;\">B2</td>\r\n<td style=\"background-color:#ffffff;\">B3</td>\r\n<td
13
- style=\"background-color:#ffffff;\">JAIL</td>\r\n</tr>\n<tr>\n<td style=\"background-color:#ffffff;\">H2</td>\r\n<td
14
- colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">C1</td>\r\n</tr>\n<tr>\n<td
15
- style=\"background-color:#ffffff;\">T2</td>\r\n<td colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">U1</td>\r\n</tr>\n<tr>\n<td
16
- style=\"background-color:#ffffff;\">H1</td>\r\n<td colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">C2</td>\r\n</tr>\n<tr>\n<td
17
- style=\"background-color:#ffffff;\">CH3</td>\r\n<td colspan=\"9\"> </td>\r\n<td
18
- style=\"background-color:#ffffff;\">C3</td>\r\n</tr>\n<tr>\n<td style=\"background-color:#ffffff;\">R4</td>\r\n<td
19
- colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">R2</td>\r\n</tr>\n<tr>\n<td
20
- style=\"background-color:#ffffff;\">G3</td>\r\n<td colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">D1</td>\r\n</tr>\n<tr>\n<td
21
- style=\"background-color:#ffffff;\">CC3</td>\r\n<td colspan=\"9\"> </td>\r\n<td
22
- style=\"background-color:#ffffff;\">CC2</td>\r\n</tr>\n<tr>\n<td style=\"background-color:#ffffff;\">G2</td>\r\n<td
23
- colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">D2</td>\r\n</tr>\n<tr>\n<td
24
- style=\"background-color:#ffffff;\">G1</td>\r\n<td colspan=\"9\"> </td>\r\n<td style=\"background-color:#ffffff;\">D3</td>\r\n</tr>\n<tr>\n<td
25
- style=\"background-color:#ffffff;\">G2J</td>\r\n<td style=\"background-color:#ffffff;\">F3</td>\r\n<td
26
- style=\"background-color:#ffffff;\">U2</td>\r\n<td style=\"background-color:#ffffff;\">F2</td>\r\n<td
27
- style=\"background-color:#ffffff;\">F1</td>\r\n<td style=\"background-color:#ffffff;\">R3</td>\r\n<td
28
- style=\"background-color:#ffffff;\">E3</td>\r\n<td style=\"background-color:#ffffff;\">E2</td>\r\n<td
29
- style=\"background-color:#ffffff;\">CH2</td>\r\n<td style=\"background-color:#ffffff;\">E1</td>\r\n<td
30
- style=\"background-color:#ffffff;\">FP</td>\r\n</tr>\n</table>\n</div>\r\n<p>A player
31
- starts on the GO square and adds the scores on two 6-sided dice to determine the
32
- number of squares they advance in a clockwise direction. Without any further rules
33
- we would expect to visit each square with equal probability: 2.5%. However, landing
34
- on G2J (Go To Jail), CC (community chest), and CH (chance) changes this distribution.</p>\r\n<p>In
35
- addition to G2J, and one card from each of CC and CH, that orders the player to
36
- go directly to jail, if a player rolls three consecutive doubles, they do not advance
37
- the result of their 3rd roll. Instead they proceed directly to jail.</p>\r\n<p>At
38
- the beginning of the game, the CC and CH cards are shuffled. When a player lands
39
- on CC or CH they take a card from the top of the respective pile and, after following
40
- the instructions, it is returned to the bottom of the pile. There are sixteen cards
41
- in each pile, but for the purpose of this problem we are only concerned with cards
42
- that order a movement; any instruction not concerned with movement will be ignored
43
- and the player will remain on the CC/CH square.</p>\r\n<ul>\n<li>Community Chest
44
- (2/16 cards):\r\n<ol>\n<li>Advance to GO</li>\r\n<li>Go to JAIL</li>\r\n</ol>\n</li>\r\n<li>Chance
45
- (10/16 cards):\r\n<ol>\n<li>Advance to GO</li>\r\n<li>Go to JAIL</li>\r\n<li>Go
46
- to C1</li>\r\n<li>Go to E3</li>\r\n<li>Go to H2</li>\r\n<li>Go to R1</li>\r\n<li>Go
47
- to next R (railway company)</li>\r\n<li>Go to next R</li>\r\n<li>Go to next U (utility
48
- company)</li>\r\n<li>Go back 3 squares.</li>\r\n</ol>\n</li>\r\n</ul>\n<p>The heart
49
- of this problem concerns the likelihood of visiting a particular square. That is,
50
- the probability of finishing at that square after a roll. For this reason it should
51
- be clear that, with the exception of G2J for which the probability of finishing
52
- on it is zero, the CH squares will have the lowest probabilities, as 5/8 request
53
- a movement to another square, and it is the final square that the player finishes
54
- at on each roll that we are interested in. We shall make no distinction between
55
- \"Just Visiting\" and being sent to JAIL, and we shall also ignore the rule about
56
- requiring a double to \"get out of jail\", assuming that they pay to get out on
57
- their next turn.</p>\r\n<p>By starting at GO and numbering the squares sequentially
58
- from 00 to 39 we can concatenate these two-digit numbers to produce strings that
59
- correspond with sets of squares.</p>\r\n<p>Statistically it can be shown that the
60
- three most popular squares, in order, are JAIL (6.24%) = Square 10, E3 (3.18%) =
61
- Square 24, and GO (3.09%) = Square 00. So these three most popular squares can be
62
- listed with the six-digit modal string: 102400.</p>\r\n<p>If, instead of using two
63
- 6-sided dice, two 4-sided dice are used, find the six-digit modal string.</p>\r\n\r\n"
5
+ :content: "In the game, _Monopoly_, the standard board is set up in the following
6
+ way:\n\n| GO | A1 | CC1 | A2 | T1 | R1 | B1 | CH1 | B2 | B3 | JAIL |\n| H2 |   |
7
+ C1 |\n| T2 |   | U1 |\n| H1 |   | C2 |\n| CH3 |   | C3 |\n| R4 |   | R2 |\n| G3
8
+ |   | D1 |\n| CC3 |   | CC2 |\n| G2 |   | D2 |\n| G1 |   | D3 |\n| G2J | F3 | U2
9
+ | F2 | F1 | R3 | E3 | E2 | CH2 | E1 | FP |\n\nA player starts on the GO square and
10
+ adds the scores on two 6-sided dice to determine the number of squares they advance
11
+ in a clockwise direction. Without any further rules we would expect to visit each
12
+ square with equal probability: 2.5%. However, landing on G2J (Go To Jail), CC (community
13
+ chest), and CH (chance) changes this distribution.\n\nIn addition to G2J, and one
14
+ card from each of CC and CH, that orders the player to go directly to jail, if a
15
+ player rolls three consecutive doubles, they do not advance the result of their
16
+ 3rd roll. Instead they proceed directly to jail.\n\nAt the beginning of the game,
17
+ the CC and CH cards are shuffled. When a player lands on CC or CH they take a card
18
+ from the top of the respective pile and, after following the instructions, it is
19
+ returned to the bottom of the pile. There are sixteen cards in each pile, but for
20
+ the purpose of this problem we are only concerned with cards that order a movement;
21
+ any instruction not concerned with movement will be ignored and the player will
22
+ remain on the CC/CH square.\n\n- Community Chest (2/16 cards):\r\n 1. Advance to
23
+ GO\n 2. Go to JAIL\n\n- Chance (10/16 cards):\r\n 1. Advance to GO\n 2. Go to
24
+ JAIL\n 3. Go to C1\n 4. Go to E3\n 5. Go to H2\n 6. Go to R1\n 7. Go to next
25
+ R (railway company)\n 8. Go to next R\n 9. Go to next U (utility company)\n 10.
26
+ Go back 3 squares.\n\nThe heart of this problem concerns the likelihood of visiting
27
+ a particular square. That is, the probability of finishing at that square after
28
+ a roll. For this reason it should be clear that, with the exception of G2J for which
29
+ the probability of finishing on it is zero, the CH squares will have the lowest
30
+ probabilities, as 5/8 request a movement to another square, and it is the final
31
+ square that the player finishes at on each roll that we are interested in. We shall
32
+ make no distinction between \"Just Visiting\" and being sent to JAIL, and we shall
33
+ also ignore the rule about requiring a double to \"get out of jail\", assuming that
34
+ they pay to get out on their next turn.\n\nBy starting at GO and numbering the squares
35
+ sequentially from 00 to 39 we can concatenate these two-digit numbers to produce
36
+ strings that correspond with sets of squares.\n\nStatistically it can be shown that
37
+ the three most popular squares, in order, are JAIL (6.24%) = Square 10, E3 (3.18%)
38
+ = Square 24, and GO (3.09%) = Square 00. So these three most popular squares can
39
+ be listed with the six-digit modal string: 102400.\n\nIf, instead of using two 6-sided
40
+ dice, two 4-sided dice are used, find the six-digit modal string.\n\n"
data/data/problems/85.yml CHANGED
@@ -2,8 +2,10 @@
2
2
  :id: 85
3
3
  :name: Counting rectangles
4
4
  :url: http://projecteuler.net/problem=85
5
- :content: "\r\n<p>By counting carefully it can be seen that a rectangular grid measuring
6
- 3 by 2 contains eighteen rectangles:</p>\r\n<div style=\"text-align:center;\">\r\n<img
7
- src=\"project/images/p_085.gif\" alt=\"\">\n</div>\r\n<p>Although there exists no
8
- rectangular grid that contains exactly two million rectangles, find the area of
9
- the grid with the nearest solution.</p>\r\n\r\n"
5
+ :content: |+
6
+ By counting carefully it can be seen that a rectangular grid measuring 3 by 2 contains eighteen rectangles:
7
+
8
+ ![](/home/will/src/euler-manager/config/../data/images/p_085.gif)
9
+
10
+ Although there exists no rectangular grid that contains exactly two million rectangles, find the area of the grid with the nearest solution.
11
+
data/data/problems/86.yml CHANGED
@@ -2,14 +2,14 @@
2
2
  :id: 86
3
3
  :name: Cuboid route
4
4
  :url: http://projecteuler.net/problem=86
5
- :content: "\r\n<p>A spider, S, sits in one corner of a cuboid room, measuring 6 by
6
- 5 by 3, and a fly, F, sits in the opposite corner. By travelling on the surfaces
7
- of the room the shortest \"straight line\" distance from S to F is 10 and the path
8
- is shown on the diagram.</p>\r\n<div style=\"text-align:center;\">\r\n<img src=\"project/images/p_086.gif\"
9
- alt=\"\"><br>\n</div>\r\n<p>However, there are up to three \"shortest\" path candidates
10
- for any given cuboid and the shortest route doesn't always have integer length.</p>\r\n<p>By
11
- considering all cuboid rooms with integer dimensions, up to a maximum size of M
12
- by M by M, there are exactly 2060 cuboids for which the shortest route has integer
13
- length when M=100, and this is the least value of M for which the number of solutions
14
- first exceeds two thousand; the number of solutions is 1975 when M=99.</p>\r\n<p>Find
15
- the least value of M such that the number of solutions first exceeds one million.</p>\r\n\r\n"
5
+ :content: "A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3,
6
+ and a fly, F, sits in the opposite corner. By travelling on the surfaces of the
7
+ room the shortest \"straight line\" distance from S to F is 10 and the path is shown
8
+ on the diagram.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_086.gif)
9
+ \ \n\nHowever, there are up to three \"shortest\" path candidates for any given
10
+ cuboid and the shortest route doesn't always have integer length.\n\nBy considering
11
+ all cuboid rooms with integer dimensions, up to a maximum size of M by M by M, there
12
+ are exactly 2060 cuboids for which the shortest route has integer length when M=100,
13
+ and this is the least value of M for which the number of solutions first exceeds
14
+ two thousand; the number of solutions is 1975 when M=99.\n\nFind the least value
15
+ of M such that the number of solutions first exceeds one million.\n\n"
data/data/problems/87.yml CHANGED
@@ -2,11 +2,10 @@
2
2
  :id: 87
3
3
  :name: Prime power triples
4
4
  :url: http://projecteuler.net/problem=87
5
- :content: "\r\n\n<p>The smallest number expressible as the sum of a prime square,
6
- prime cube, and prime fourth power is 28. In fact, there are exactly four numbers
7
- below fifty that can be expressed in such a way:</p>\n<p style=\"margin-left:50px;\">28
8
- = 2<sup>2</sup> + 2<sup>3</sup> + 2<sup>4</sup><br>\n33 = 3<sup>2</sup> + 2<sup>3</sup>
9
- + 2<sup>4</sup><br>\n49 = 5<sup>2</sup> + 2<sup>3</sup> + 2<sup>4</sup><br>\n47
10
- = 2<sup>2</sup> + 3<sup>3</sup> + 2<sup>4</sup></p>\n<p>How many numbers below fifty
11
- million can be expressed as the sum of a prime square, prime cube, and prime fourth
12
- power?</p>\n\r\n"
5
+ :content: "The smallest number expressible as the sum of a prime square, prime cube,
6
+ and prime fourth power is 28. In fact, there are exactly four numbers below fifty
7
+ that can be expressed in such a way:\n\n28 = 2<sup>2</sup> + 2<sup>3</sup> + 2<sup>4</sup>
8
+ \ \n33 = 3<sup>2</sup> + 2<sup>3</sup> + 2<sup>4</sup> \n49 = 5<sup>2</sup> + 2<sup>3</sup>
9
+ + 2<sup>4</sup> \n47 = 2<sup>2</sup> + 3<sup>3</sup> + 2<sup>4</sup>\n\nHow many
10
+ numbers below fifty million can be expressed as the sum of a prime square, prime
11
+ cube, and prime fourth power?\n\n"