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/64.yml CHANGED
@@ -2,129 +2,55 @@
2
2
  :id: 64
3
3
  :name: Odd period square roots
4
4
  :url: http://projecteuler.net/problem=64
5
- :content: "\r\n<p>All square roots are periodic when written as continued fractions
6
- and can be written in the form:</p>\r\n<div style=\"margin-left:20px;\">\r\n<table
7
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>\n<img src=\"images/symbol_radic.gif\"
8
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\"><var>N</var>
9
- = <var>a</var><sub>0</sub> +</td>\r\n<td colspan=\"3\" style=\"border-bottom:1px
10
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>\n<var>a</var><sub>1</sub>
11
- +</td>\r\n<td colspan=\"2\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td>\n<var>a</var><sub>2</sub>
12
- +</td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>\n<var>a</var><sub>3</sub>
13
- + ...</td>\r\n</tr>\n</table>\n</div>\r\n<p>For example, let us consider <img src=\"images/symbol_radic.gif\"
14
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">23:</p>\r\n<div
15
- style=\"margin-left:20px;\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>\n<img
16
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
17
- style=\"vertical-align:middle;\">23 = 4 + <img src=\"images/symbol_radic.gif\" width=\"14\"
18
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">234 = 4
19
- + </td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td> =
20
- 4 + </td>\r\n<td colspan=\"2\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td><div
21
- style=\"text-align:center;\">1<br><span style=\"border-top:1px solid #000;\"><img
22
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
23
- style=\"vertical-align:middle;\">23—4</span>\n</div></td>\r\n<td> </td>\r\n<td>1
24
- + </td>\r\n<td><div style=\"text-align:center;\">\n<span style=\"border-bottom:1px
25
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
26
- border=\"0\" style=\"vertical-align:middle;\">23 3</span><br>7</div></td>\r\n</tr>\n</table>\n</div>\r\n<p>If
27
- we continue we would get the following expansion:</p>\r\n<div style=\"margin-left:20px;\">\r\n<table
28
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>\n<img src=\"images/symbol_radic.gif\"
29
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">23
30
- = 4 +</td>\r\n<td colspan=\"4\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>1
31
- +</td>\r\n<td colspan=\"3\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td>3
32
- +</td>\r\n<td colspan=\"2\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>1
33
- +</td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>8
34
- + ...</td>\r\n</tr>\n</table>\n</div>\r\n<p>The process can be summarised as follows:</p>\r\n<div
35
- style=\"margin-left:20px;\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>\n<var>a</var><sub>0</sub>
36
- = 4,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">1<br><span style=\"border-top:1px
37
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
38
- border=\"0\" style=\"vertical-align:middle;\">23—4</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
39
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
40
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
41
- style=\"vertical-align:middle;\">23+4</span><br>7</div></td>\r\n<td> = 1 + </td>\r\n<td><div
42
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
43
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
44
- style=\"vertical-align:middle;\">23—3</span><br>7</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>1</sub>
45
- = 1,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">7<br><span style=\"border-top:1px
46
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
47
- border=\"0\" style=\"vertical-align:middle;\">23—3</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
48
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">7(<img
49
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
50
- style=\"vertical-align:middle;\">23+3)</span><br>14</div></td>\r\n<td> = 3 + </td>\r\n<td><div
51
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
52
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
53
- style=\"vertical-align:middle;\">23—3</span><br>2</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>2</sub>
54
- = 3,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">2<br><span style=\"border-top:1px
55
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
56
- border=\"0\" style=\"vertical-align:middle;\">23—3</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
57
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">2(<img
58
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
59
- style=\"vertical-align:middle;\">23+3)</span><br>14</div></td>\r\n<td> = 1 + </td>\r\n<td><div
60
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
61
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
62
- style=\"vertical-align:middle;\">23—4</span><br>7</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>3</sub>
63
- = 1,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">7<br><span style=\"border-top:1px
64
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
65
- border=\"0\" style=\"vertical-align:middle;\">23—4</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
66
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">7(<img
67
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
68
- style=\"vertical-align:middle;\">23+4)</span><br>7</div></td>\r\n<td> = 8 + </td>\r\n<td>\n<img
69
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
70
- style=\"vertical-align:middle;\">23—4</td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>4</sub>
71
- = 8,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">1<br><span style=\"border-top:1px
72
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
73
- border=\"0\" style=\"vertical-align:middle;\">23—4</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
74
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
75
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
76
- style=\"vertical-align:middle;\">23+4</span><br>7</div></td>\r\n<td> = 1 + </td>\r\n<td><div
77
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
78
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
79
- style=\"vertical-align:middle;\">23—3</span><br>7</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>5</sub>
80
- = 1,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">7<br><span style=\"border-top:1px
81
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
82
- border=\"0\" style=\"vertical-align:middle;\">23—3</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
83
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">7(<img
84
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
85
- style=\"vertical-align:middle;\">23+3)</span><br>14</div></td>\r\n<td> = 3 + </td>\r\n<td><div
86
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
87
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
88
- style=\"vertical-align:middle;\">23—3</span><br>2</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>6</sub>
89
- = 3,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">2<br><span style=\"border-top:1px
90
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
91
- border=\"0\" style=\"vertical-align:middle;\">23—3</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
92
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">2(<img
93
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
94
- style=\"vertical-align:middle;\">23+3)</span><br>14</div></td>\r\n<td> = 1 + </td>\r\n<td><div
95
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\"><img
96
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
97
- style=\"vertical-align:middle;\">23—4</span><br>7</div></td>\r\n</tr>\n<tr>\n<td>\n<var>a</var><sub>7</sub>
98
- = 1,</td>\r\n<td> </td>\r\n<td><div style=\"text-align:center;\">7<br><span style=\"border-top:1px
99
- solid #000;\"><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
100
- border=\"0\" style=\"vertical-align:middle;\">23—4</span>\n</div></td>\r\n<td> = </td>\r\n<td><div
101
- style=\"text-align:center;\">\n<span style=\"border-bottom:1px solid #000;\">7(<img
102
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
103
- style=\"vertical-align:middle;\">23+4)</span><br>7</div></td>\r\n<td> = 8 + </td>\r\n<td>\n<img
104
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
105
- style=\"vertical-align:middle;\">23—4</td>\r\n</tr>\n</table>\n</div>\r\n<p>It can
106
- be seen that the sequence is repeating. For conciseness, we use the notation <img
107
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
108
- style=\"vertical-align:middle;\">23 = [4;(1,3,1,8)], to indicate that the block
109
- (1,3,1,8) repeats indefinitely.</p>\r\n\r\n<p>The first ten continued fraction representations
110
- of (irrational) square roots are:</p>\r\n<p style=\"margin-left:20px;\"><img src=\"images/symbol_radic.gif\"
111
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2=[1;(2)],
112
- period=1<br><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
113
- border=\"0\" style=\"vertical-align:middle;\">3=[1;(1,2)], period=2<br><img src=\"images/symbol_radic.gif\"
114
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">5=[2;(4)],
115
- period=1<br><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
116
- border=\"0\" style=\"vertical-align:middle;\">6=[2;(2,4)], period=2<br><img src=\"images/symbol_radic.gif\"
117
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">7=[2;(1,1,1,4)],
118
- period=4<br><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
119
- border=\"0\" style=\"vertical-align:middle;\">8=[2;(1,4)], period=2<br><img src=\"images/symbol_radic.gif\"
120
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">10=[3;(6)],
121
- period=1<br><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
122
- border=\"0\" style=\"vertical-align:middle;\">11=[3;(3,6)], period=2<br><img src=\"images/symbol_radic.gif\"
123
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">12=
124
- [3;(2,6)], period=2<br><img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\"
125
- alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">13=[3;(1,1,1,1,6)], period=5</p>\r\n<p>Exactly
126
- four continued fractions, for <var>N</var> <img src=\"images/symbol_le.gif\" width=\"10\"
127
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 13, have
128
- an odd period.</p>\r\n<p>How many continued fractions for <var>N</var> <img src=\"images/symbol_le.gif\"
129
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
130
- 10000 have an odd period?</p>\r\n"
5
+ :content: "All square roots are periodic when written as continued fractions and can
6
+ be written in the form:\n\n| ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)<var>N</var>
7
+ = <var>a</var><sub>0</sub> + | \n1\n |\n|   | <var>a</var><sub>1</sub> + | \n1\n
8
+ |\n|   |   | <var>a</var><sub>2</sub> + | \n1\n |\n|   |   |   | <var>a</var><sub>3</sub>
9
+ + ... |\n\nFor example, let us consider ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23:\n\n|
10
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23 = 4
11
+ + ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23
12
+ 4 = 4 +  | \n1\n |  = 4 +  | \n1\n |\n|   | \n1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4\n
13
+ |   | 1 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23
14
+ – 3 \n7\n |\n\nIf we continue we would get the following expansion:\n\n| ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23
15
+ = 4 + | \n1\n |\n|   | 1 + | \n1\n |\n|   |   | 3 + | \n1\n |\n|   |   |   | 1 +
16
+ | \n1\n |\n|   |   |   |   | 8 + ... |\n\nThe process can be summarised as follows:\n\n|
17
+ <var>a</var><sub>0</sub> = 4, |   | \n1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4\n
18
+ |  =  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+4
19
+ \ \n7\n |  = 1 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3
20
+ \ \n7\n |\n| <var>a</var><sub>1</sub> = 1, |   | \n7 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3\n
21
+ |  =  | \n7( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+3)
22
+ \ \n14\n |  = 3 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3
23
+ \ \n2\n |\n| <var>a</var><sub>2</sub> = 3, |   | \n2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3\n
24
+ |  =  | \n2( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+3)
25
+ \ \n14\n |  = 1 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4
26
+ \ \n7\n |\n| <var>a</var><sub>3</sub> = 1, |   | \n7 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4\n
27
+ |  =  | \n7( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+4)
28
+ \ \n7\n |  = 8 +  | ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4
29
+ |\n| <var>a</var><sub>4</sub> = 8, |   | \n1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4\n
30
+ |  =  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+4
31
+ \ \n7\n |  = 1 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3
32
+ \ \n7\n |\n| <var>a</var><sub>5</sub> = 1, |   | \n7 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3\n
33
+ |  =  | \n7( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+3)
34
+ \ \n14\n |  = 3 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3
35
+ \ \n2\n |\n| <var>a</var><sub>6</sub> = 3, |   | \n2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—3\n
36
+ |  =  | \n2( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+3)
37
+ \ \n14\n |  = 1 +  | \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4
38
+ \ \n7\n |\n| <var>a</var><sub>7</sub> = 1, |   | \n7 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4\n
39
+ |  =  | \n7( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23+4)
40
+ \ \n7\n |  = 8 +  | ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23—4
41
+ |\n\nIt can be seen that the sequence is repeating. For conciseness, we use the
42
+ notation ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23
43
+ = [4;(1,3,1,8)], to indicate that the block (1,3,1,8) repeats indefinitely.\n\nThe
44
+ first ten continued fraction representations of (irrational) square roots are:\n\n![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2=[1;(2)],
45
+ period=1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3=[1;(1,2)],
46
+ period=2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)5=[2;(4)],
47
+ period=1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)6=[2;(2,4)],
48
+ period=2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)7=[2;(1,1,1,4)],
49
+ period=4 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)8=[2;(1,4)],
50
+ period=2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)10=[3;(6)],
51
+ period=1 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)11=[3;(3,6)],
52
+ period=2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)12=
53
+ [3;(2,6)], period=2 \n ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)13=[3;(1,1,1,1,6)],
54
+ period=5\n\nExactly four continued fractions, for <var>N</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
55
+ 13, have an odd period.\n\nHow many continued fractions for <var>N</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
56
+ 10000 have an odd period?\n\n"
data/data/problems/65.yml CHANGED
@@ -2,51 +2,25 @@
2
2
  :id: 65
3
3
  :name: Convergents of e
4
4
  :url: http://projecteuler.net/problem=65
5
- :content: "\r\n<p>The square root of 2 can be written as an infinite continued fraction.</p>\r\n<div
6
- style=\"margin-left:20px;\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>\n<img
7
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
8
- style=\"vertical-align:middle;\">2 = 1 +</td>\r\n<td colspan=\"4\" style=\"border-bottom:1px
9
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>2
10
- +</td>\r\n<td colspan=\"3\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td>2
11
- +</td>\r\n<td colspan=\"2\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>2
12
- +</td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>2
13
- + ...</td>\r\n</tr>\n</table>\n</div>\r\n<p>The infinite continued fraction can
14
- be written, <img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\"
15
- border=\"0\" style=\"vertical-align:middle;\">2 = [1;(2)], (2) indicates that 2
16
- repeats <i>ad infinitum</i>. In a similar way, <img src=\"images/symbol_radic.gif\"
17
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">23
18
- = [4;(1,3,1,8)].</p>\r\n<p>It turns out that the sequence of partial values of continued
5
+ :content: "The square root of 2 can be written as an infinite continued fraction.\n\n|
6
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2 = 1 +
7
+ | \n1\n |\n|   | 2 + | \n1\n |\n|   |   | 2 + | \n1\n |\n|   |   |   | 2 + | \n1\n
8
+ |\n|   |   |   |   | 2 + ... |\n\nThe infinite continued fraction can be written,
9
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2 = [1;(2)],
10
+ (2) indicates that 2 repeats _ad infinitum_. In a similar way, ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)23
11
+ = [4;(1,3,1,8)].\n\nIt turns out that the sequence of partial values of continued
19
12
  fractions for square roots provide the best rational approximations. Let us consider
20
- the convergents for <img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\"
21
- alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2.</p>\r\n<div style=\"margin-left:20px;\">\r\n\r\n<table
22
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>1 +</td>\r\n<td style=\"border-bottom:1px
23
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td>= 3/2</td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td><div
24
- style=\"text-align:center;\">2</div></td>\r\n<td> </td>\r\n</tr>\n</table>\n<table
25
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>1 +</td>\r\n<td colspan=\"2\"
26
- style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td>=
27
- 7/5</td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>2 +</td>\r\n<td style=\"border-bottom:1px
28
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td><div
29
- style=\"text-align:center;\">2</div></td>\r\n<td> </td>\r\n</tr>\n</table>\n<table
30
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>1 +</td>\r\n<td colspan=\"3\"
31
- style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td>=
32
- 17/12</td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>2 +</td>\r\n<td colspan=\"2\" style=\"border-bottom:1px
33
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td> </td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td>2
34
- +</td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td> </td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td><div
35
- style=\"text-align:center;\">2</div></td>\r\n<td> </td>\r\n</tr>\n</table>\n<table
36
- border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td>1 +</td>\r\n<td colspan=\"4\"
37
- style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td>=
38
- 41/29</td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td>2 +</td>\r\n<td colspan=\"3\" style=\"border-bottom:1px
39
- solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td>2
40
- +</td>\r\n<td colspan=\"2\" style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td> </td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td>2
41
- +</td>\r\n<td style=\"border-bottom:1px solid #000;\"><div style=\"text-align:center;\">1</div></td>\r\n<td> </td>\r\n</tr>\n<tr>\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td><div
42
- style=\"text-align:center;\">2</div></td>\r\n<td> </td>\r\n</tr>\n</table>\n</div>\r\n<p>Hence
43
- the sequence of the first ten convergents for <img src=\"images/symbol_radic.gif\"
44
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2
45
- are:</p>\r\n<div class=\"note\">1, 3/2, 7/5, 17/12, 41/29, 99/70, 239/169, 577/408,
46
- 1393/985, 3363/2378, ...</div>\r\n<p>What is most surprising is that the important
47
- mathematical constant,<br><i>e</i> = [2; 1,2,1, 1,4,1, 1,6,1 , ... , 1,2<i>k</i>,1,
48
- ...].</p>\r\n<p>The first ten terms in the sequence of convergents for <i>e</i>
49
- are:</p>\r\n<div class=\"note\">2, 3, 8/3, 11/4, 19/7, 87/32, 106/39, 193/71, 1264/465,
50
- 1457/536, ...</div>\r\n<p>The sum of digits in the numerator of the 10<sup>th</sup>
51
- convergent is 1+4+5+7=17.</p>\r\n<p>Find the sum of digits in the numerator of the
52
- 100<sup>th</sup> convergent of the continued fraction for <i>e</i>.</p>\r\n"
13
+ the convergents for ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2.\n\n|
14
+ 1 + | \n1\n | = 3/2 |\n|   | \n2\n |   |\n\n| 1 + | \n1\n | = 7/5 |\n|   | 2 + |
15
+ \n1\n |\n|   |   | \n2\n |   |\n\n| 1 + | \n1\n | = 17/12 |\n|   | 2 + | \n1\n |
16
+   |\n|   |   | 2 + | \n1\n |   |\n|   |   |   | \n2\n |   |\n\n| 1 + | \n1\n | =
17
+ 41/29 |\n|   | 2 + | \n1\n |\n|   |   | 2 + | \n1\n |   |\n|   |   |   | 2 + | \n1\n
18
+ |   |\n|   |   |   |   | \n2\n |   |\n\nHence the sequence of the first ten convergents
19
+ for ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2 are:\n\n1,
20
+ 3/2, 7/5, 17/12, 41/29, 99/70, 239/169, 577/408, 1393/985, 3363/2378, ...\n\nWhat
21
+ is most surprising is that the important mathematical constant, \n_e_ = [2; 1,2,1,
22
+ 1,4,1, 1,6,1 , ... , 1,2_k_,1, ...].\n\nThe first ten terms in the sequence of convergents
23
+ for _e_ are:\n\n2, 3, 8/3, 11/4, 19/7, 87/32, 106/39, 193/71, 1264/465, 1457/536,
24
+ ...\n\nThe sum of digits in the numerator of the 10<sup>th</sup> convergent is 1+4+5+7=17.\n\nFind
25
+ the sum of digits in the numerator of the 100<sup>th</sup> convergent of the continued
26
+ fraction for _e_.\n\n"
data/data/problems/66.yml CHANGED
@@ -2,26 +2,16 @@
2
2
  :id: 66
3
3
  :name: Diophantine equation
4
4
  :url: http://projecteuler.net/problem=66
5
- :content: "\r\n<p>Consider quadratic Diophantine equations of the form:</p>\r\n<p
6
- style=\"text-align:center;\"><i>x</i><sup>2</sup> D<i>y</i><sup>2</sup> = 1</p>\r\n<p>For
7
- example, when D=13, the minimal solution in <i>x</i> is 649<sup>2</sup> – 13<img
8
- src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
9
- style=\"vertical-align:middle;\">180<sup>2</sup> = 1.</p>\r\n<p>It can be assumed
10
- that there are no solutions in positive integers when D is square.</p>\r\n<p>By
11
- finding minimal solutions in <i>x</i> for D = {2, 3, 5, 6, 7}, we obtain the following:</p>\r\n<p
12
- style=\"margin-left:20px;\">3<sup>2</sup> – 2<img src=\"images/symbol_times.gif\"
13
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">2<sup>2</sup>
14
- = 1<br>\r\n2<sup>2</sup> – 3<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\"
15
- alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">1<sup>2</sup> = 1<br><span
16
- style=\"color:#dd0000;font-weight:bold;\">9</span><sup>2</sup> 5<img src=\"images/symbol_times.gif\"
17
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">4<sup>2</sup>
18
- = 1<br>\r\n5<sup>2</sup> – 6<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\"
19
- alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">2<sup>2</sup> = 1<br>\r\n8<sup>2</sup>
20
- – 7<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
21
- style=\"vertical-align:middle;\">3<sup>2</sup> = 1</p>\r\n<p>Hence, by considering
22
- minimal solutions in <i>x</i> for D <img src=\"images/symbol_le.gif\" width=\"10\"
23
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 7, the largest
24
- <i>x</i> is obtained when D=5.</p>\r\n<p>Find the value of D <img src=\"images/symbol_le.gif\"
25
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
26
- 1000 in minimal solutions of <i>x</i> for which the largest value of <i>x</i> is
27
- obtained.</p>\r\n\r\n"
5
+ :content: "Consider quadratic Diophantine equations of the form:\n\n_x_<sup>2</sup>
6
+ D_y_<sup>2</sup> = 1\n\nFor example, when D=13, the minimal solution in _x_ is
7
+ 649<sup>2</sup> 13 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)180<sup>2</sup>
8
+ = 1.\n\nIt can be assumed that there are no solutions in positive integers when
9
+ D is square.\n\nBy finding minimal solutions in _x_ for D = {2, 3, 5, 6, 7}, we
10
+ obtain the following:\n\n3<sup>2</sup> 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)2<sup>2</sup>
11
+ = 1 \n\r2<sup>2</sup> 3 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)1<sup>2</sup>
12
+ = 1 \n9<sup>2</sup> – 5 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)4<sup>2</sup>
13
+ = 1 \n\r5<sup>2</sup> 6 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)2<sup>2</sup>
14
+ = 1 \n\r8<sup>2</sup> – 7 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)3<sup>2</sup>
15
+ = 1\n\nHence, by considering minimal solutions in _x_ for D ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
16
+ 7, the largest _x_ is obtained when D=5.\n\nFind the value of D ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
17
+ 1000 in minimal solutions of _x_ for which the largest value of _x_ is obtained.\n\n"
data/data/problems/67.yml CHANGED
@@ -2,16 +2,13 @@
2
2
  :id: 67
3
3
  :name: Maximum path sum II
4
4
  :url: http://projecteuler.net/problem=67
5
- :content: "\r\n<p>By starting at the top of the triangle below and moving to adjacent
6
- numbers on the row below, the maximum total from top to bottom is 23.</p>\r\n<p
7
- style=\"text-align:center;font-family:courier new;font-size:12pt;\"><span style=\"color:#ff0000;\"><b>3</b></span><br><span
8
- style=\"color:#ff0000;\"><b>7</b></span> 4<br>\r\n2 <span style=\"color:#ff0000;\"><b>4</b></span>
9
- 6<br>\r\n8 5 <span style=\"color:#ff0000;\"><b>9</b></span> 3</p>\r\n<p>That is,
10
- 3 + 7 + 4 + 9 = 23.</p>\r\n<p>Find the maximum total from top to bottom in <a href=\"project/triangle.txt\">triangle.txt</a>
11
- (right click and 'Save Link/Target As...'), a 15K text file containing a triangle
12
- with one-hundred rows.</p>\r\n<p class=\"note\"><b>NOTE:</b> This is a much more
13
- difficult version of <a href=\"problem=18\">Problem 18</a>. It is not possible to
14
- try every route to solve this problem, as there are 2<sup>99</sup> altogether! If
15
- you could check one trillion (10<sup>12</sup>) routes every second it would take
16
- over twenty billion years to check them all. There is an efficient algorithm to
17
- solve it. ;o)</p>\r\n\r\n"
5
+ :content: "By starting at the top of the triangle below and moving to adjacent numbers
6
+ on the row below, the maximum total from top to bottom is 23.\n\n**3** \n**7**
7
+ 4 \n\r2 **4** 6 \n\r8 5 **9** 3\n\nThat is, 3 + 7 + 4 + 9 = 23.\n\nFind the maximum
8
+ total from top to bottom in [triangle.txt](project/triangle.txt) (right click and
9
+ 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred
10
+ rows.\n\n**NOTE:** This is a much more difficult version of [Problem 18](problem=18).
11
+ It is not possible to try every route to solve this problem, as there are 2<sup>99</sup>
12
+ altogether! If you could check one trillion (10<sup>12</sup>) routes every second
13
+ it would take over twenty billion years to check them all. There is an efficient
14
+ algorithm to solve it. ;o)\n\n"
data/data/problems/68.yml CHANGED
@@ -2,22 +2,18 @@
2
2
  :id: 68
3
3
  :name: Magic 5-gon ring
4
4
  :url: http://projecteuler.net/problem=68
5
- :content: "\r\n<p>Consider the following \"magic\" 3-gon ring, filled with the numbers
6
- 1 to 6, and each line adding to nine.</p>\r\n<div style=\"text-align:center;\">\r\n<img
7
- src=\"project/images/p_068_1.gif\" alt=\"\"><br>\n</div>\r\n<p>Working <b>clockwise</b>,
8
- and starting from the group of three with the numerically lowest external node (4,3,2
9
- in this example), each solution can be described uniquely. For example, the above
10
- solution can be described by the set: 4,3,2; 6,2,1; 5,1,3.</p>\r\n<p>It is possible
11
- to complete the ring with four different totals: 9, 10, 11, and 12. There are eight
12
- solutions in total.</p>\r\n<div style=\"text-align:center;\">\r\n<table width=\"400\"
13
- cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td width=\"100\"><b>Total</b></td>\n<td
14
- width=\"300\"><b>Solution Set</b></td>\r\n</tr>\n<tr>\n<td>9</td>\n<td>4,2,3; 5,3,1;
15
- 6,1,2</td>\r\n</tr>\n<tr>\n<td>9</td>\n<td>4,3,2; 6,2,1; 5,1,3</td>\r\n</tr>\n<tr>\n<td>10</td>\n<td>2,3,5;
16
- 4,5,1; 6,1,3</td>\r\n</tr>\n<tr>\n<td>10</td>\n<td>2,5,3; 6,3,1; 4,1,5</td>\r\n</tr>\n<tr>\n<td>11</td>\n<td>1,4,6;
17
- 3,6,2; 5,2,4</td>\r\n</tr>\n<tr>\n<td>11</td>\n<td>1,6,4; 5,4,2; 3,2,6</td>\r\n</tr>\n<tr>\n<td>12</td>\n<td>1,5,6;
18
- 2,6,4; 3,4,5</td>\r\n</tr>\n<tr>\n<td>12</td>\n<td>1,6,5; 3,5,4; 2,4,6</td>\r\n</tr>\n</table>\n</div>\r\n<p>By
19
- concatenating each group it is possible to form 9-digit strings; the maximum string
20
- for a 3-gon ring is 432621513.</p>\r\n<p>Using the numbers 1 to 10, and depending
21
- on arrangements, it is possible to form 16- and 17-digit strings. What is the maximum
22
- <b>16-digit</b> string for a \"magic\" 5-gon ring?</p>\r\n<div style=\"text-align:center;\">\r\n<img
23
- src=\"project/images/p_068_2.gif\" alt=\"\"><br>\n</div>\r\n\r\n"
5
+ :content: "Consider the following \"magic\" 3-gon ring, filled with the numbers 1
6
+ to 6, and each line adding to nine.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_068_1.gif)
7
+ \ \n\nWorking **clockwise** , and starting from the group of three with the numerically
8
+ lowest external node (4,3,2 in this example), each solution can be described uniquely.
9
+ For example, the above solution can be described by the set: 4,3,2; 6,2,1; 5,1,3.\n\nIt
10
+ is possible to complete the ring with four different totals: 9, 10, 11, and 12.
11
+ There are eight solutions in total.\n\n| **Total** | **Solution Set** |\n| 9 | 4,2,3;
12
+ 5,3,1; 6,1,2 |\n| 9 | 4,3,2; 6,2,1; 5,1,3 |\n| 10 | 2,3,5; 4,5,1; 6,1,3 |\n| 10
13
+ | 2,5,3; 6,3,1; 4,1,5 |\n| 11 | 1,4,6; 3,6,2; 5,2,4 |\n| 11 | 1,6,4; 5,4,2; 3,2,6
14
+ |\n| 12 | 1,5,6; 2,6,4; 3,4,5 |\n| 12 | 1,6,5; 3,5,4; 2,4,6 |\n\nBy concatenating
15
+ each group it is possible to form 9-digit strings; the maximum string for a 3-gon
16
+ ring is 432621513.\n\nUsing the numbers 1 to 10, and depending on arrangements,
17
+ it is possible to form 16- and 17-digit strings. What is the maximum **16-digit**
18
+ string for a \"magic\" 5-gon ring?\n\n ![](/home/will/src/euler-manager/config/../data/images/p_068_2.gif)
19
+ \ \n\n"
data/data/problems/69.yml CHANGED
@@ -2,13 +2,21 @@
2
2
  :id: 69
3
3
  :name: Totient maximum
4
4
  :url: http://projecteuler.net/problem=69
5
- :content: "\r\n\n<p>Euler's Totient function, φ(<i>n</i>) [sometimes called the phi
6
- function], is used to determine the number of numbers less than <i>n</i> which are
7
- relatively prime to <i>n</i>. For example, as 1, 2, 4, 5, 7, and 8, are all less
8
- than nine and relatively prime to nine, φ(9)=6.</p>\n<div style=\"margin-left:100px;\">\n<table
9
- border=\"1\">\n<tr>\n<td><b><i>n</i></b></td>\n<td><b>Relatively Prime</b></td>\n<td><b>φ(<i>n</i>)</b></td>\n<td><b><i>n</i>/φ(<i>n</i>)</b></td>\n</tr>\n<tr>\n<td>2</td>\n<td>1</td>\n<td>1</td>\n<td>2</td>\n</tr>\n<tr>\n<td>3</td>\n<td>1,2</td>\n<td>2</td>\n<td>1.5</td>\n</tr>\n<tr>\n<td>4</td>\n<td>1,3</td>\n<td>2</td>\n<td>2</td>\n</tr>\n<tr>\n<td>5</td>\n<td>1,2,3,4</td>\n<td>4</td>\n<td>1.25</td>\n</tr>\n<tr>\n<td>6</td>\n<td>1,5</td>\n<td>2</td>\n<td>3</td>\n</tr>\n<tr>\n<td>7</td>\n<td>1,2,3,4,5,6</td>\n<td>6</td>\n<td>1.1666...</td>\n</tr>\n<tr>\n<td>8</td>\n<td>1,3,5,7</td>\n<td>4</td>\n<td>2</td>\n</tr>\n<tr>\n<td>9</td>\n<td>1,2,4,5,7,8</td>\n<td>6</td>\n<td>1.5</td>\n</tr>\n<tr>\n<td>10</td>\n<td>1,3,7,9</td>\n<td>4</td>\n<td>2.5</td>\n</tr>\n</table>\n</div>\n<p>It
10
- can be seen that <i>n</i>=6 produces a maximum <i>n</i>/φ(<i>n</i>) for <i>n</i>
11
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
12
- style=\"vertical-align:middle;\"> 10.</p>\n<p>Find the value of <i>n</i> <img src=\"images/symbol_le.gif\"
13
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
14
- 1,000,000 for which <i>n</i>/φ(<i>n</i>) is a maximum.</p>\n\r\n"
5
+ :content: |+
6
+ Euler's Totient function, φ(_n_) [sometimes called the phi function], is used to determine the number of numbers less than _n_ which are relatively prime to _n_. For example, as 1, 2, 4, 5, 7, and 8, are all less than nine and relatively prime to nine, φ(9)=6.
7
+
8
+ | **_n_** | **Relatively Prime** | **φ(_n_)** | **_n_/φ(_n_)** |
9
+ | 2 | 1 | 1 | 2 |
10
+ | 3 | 1,2 | 2 | 1.5 |
11
+ | 4 | 1,3 | 2 | 2 |
12
+ | 5 | 1,2,3,4 | 4 | 1.25 |
13
+ | 6 | 1,5 | 2 | 3 |
14
+ | 7 | 1,2,3,4,5,6 | 6 | 1.1666... |
15
+ | 8 | 1,3,5,7 | 4 | 2 |
16
+ | 9 | 1,2,4,5,7,8 | 6 | 1.5 |
17
+ | 10 | 1,3,7,9 | 4 | 2.5 |
18
+
19
+ It can be seen that _n_=6 produces a maximum _n_/φ(_n_) for _n_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 10.
20
+
21
+ Find the value of _n_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 1,000,000 for which _n_/φ(_n_) is a maximum.
22
+
data/data/problems/7.yml CHANGED
@@ -2,5 +2,8 @@
2
2
  :id: 7
3
3
  :name: 10001st prime
4
4
  :url: http://projecteuler.net/problem=7
5
- :content: "\r\n<p>By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13,
6
- we can see that the 6th prime is 13.</p>\r\n<p>What is the 10 001st prime number?</p>\r\n\r\n"
5
+ :content: |+
6
+ By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
7
+
8
+ What is the 10 001st prime number?
9
+
data/data/problems/70.yml CHANGED
@@ -2,15 +2,13 @@
2
2
  :id: 70
3
3
  :name: Totient permutation
4
4
  :url: http://projecteuler.net/problem=70
5
- :content: "\r\n<p>Euler's Totient function, φ(<var>n</var>) [sometimes called the
6
- phi function], is used to determine the number of positive numbers less than or
7
- equal to <var>n</var> which are relatively prime to <var>n</var>. For example, as
8
- 1, 2, 4, 5, 7, and 8, are all less than nine and relatively prime to nine, φ(9)=6.<br>The
9
- number 1 is considered to be relatively prime to every positive number, so φ(1)=1.
10
- </p>\r\n<p>Interestingly, φ(87109)=79180, and it can be seen that 87109 is a permutation
11
- of 79180.</p>\r\n<p>Find the value of <var>n</var>, 1 <img src=\"images/symbol_lt.gif\"
12
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
13
- <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
14
- style=\"vertical-align:middle;\"> 10<sup>7</sup>, for which φ(<var>n</var>) is a
15
- permutation of <var>n</var> and the ratio <var>n</var>/φ(<var>n</var>) produces
16
- a minimum.</p>\r\n\r\n"
5
+ :content: "Euler's Totient function, φ(<var>n</var>) [sometimes called the phi function],
6
+ is used to determine the number of positive numbers less than or equal to <var>n</var>
7
+ which are relatively prime to <var>n</var>. For example, as 1, 2, 4, 5, 7, and 8,
8
+ are all less than nine and relatively prime to nine, φ(9)=6. \nThe number 1 is
9
+ considered to be relatively prime to every positive number, so φ(1)=1.\n\nInterestingly,
10
+ φ(87109)=79180, and it can be seen that 87109 is a permutation of 79180.\n\nFind
11
+ the value of <var>n</var>, 1 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
12
+ <var>n</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
13
+ 10<sup>7</sup>, for which φ(<var>n</var>) is a permutation of <var>n</var> and the
14
+ ratio <var>n</var>/φ(<var>n</var>) produces a minimum.\n\n"
data/data/problems/71.yml CHANGED
@@ -2,16 +2,14 @@
2
2
  :id: 71
3
3
  :name: Ordered fractions
4
4
  :url: http://projecteuler.net/problem=71
5
- :content: "\r\n\n<p>Consider the fraction, <i>n/d</i>, where <i>n</i> and <i>d</i>
6
- are positive integers. If <i>n</i><img src=\"images/symbol_lt.gif\" width=\"10\"
7
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><i>d</i>
8
- and HCF(<i>n,d</i>)=1, it is called a reduced proper fraction.</p>\n<p>If we list
9
- the set of reduced proper fractions for <i>d</i> <img src=\"images/symbol_le.gif\"
10
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
11
- 8 in ascending order of size, we get:</p>\n<p style=\"text-align:center;font-size:8pt;\">1/8,
12
- 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, <b>2/5</b>, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7,
13
- 3/4, 4/5, 5/6, 6/7, 7/8</p>\n<p>It can be seen that 2/5 is the fraction immediately
14
- to the left of 3/7.</p>\n<p>By listing the set of reduced proper fractions for <i>d</i>
15
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
16
- style=\"vertical-align:middle;\"> 1,000,000 in ascending order of size, find the
17
- numerator of the fraction immediately to the left of 3/7.</p>\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 2/5 is the fraction immediately to the left of 3/7.
13
+
14
+ By listing the set of reduced proper fractions for _d_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 1,000,000 in ascending order of size, find the numerator of the fraction immediately to the left of 3/7.
15
+
data/data/problems/72.yml CHANGED
@@ -2,15 +2,14 @@
2
2
  :id: 72
3
3
  :name: Counting fractions
4
4
  :url: http://projecteuler.net/problem=72
5
- :content: "\r\n\n<p>Consider the fraction, <i>n/d</i>, where <i>n</i> and <i>d</i>
6
- are positive integers. If <i>n</i><img src=\"images/symbol_lt.gif\" width=\"10\"
7
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><i>d</i>
8
- and HCF(<i>n,d</i>)=1, it is called a reduced proper fraction.</p>\n<p>If we list
9
- the set of reduced proper fractions for <i>d</i> <img src=\"images/symbol_le.gif\"
10
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
11
- 8 in ascending order of size, we get:</p>\n<p style=\"text-align:center;font-size:8pt;\">1/8,
12
- 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,
13
- 4/5, 5/6, 6/7, 7/8</p>\n<p>It can be seen that there are 21 elements in this set.</p>\n<p>How
14
- many elements would be contained in the set of reduced proper fractions for <i>d</i>
15
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
16
- style=\"vertical-align:middle;\"> 1,000,000?</p>\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 21 elements in this set.
13
+
14
+ How many elements would be contained in the set of reduced proper fractions for _d_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 1,000,000?
15
+