euler-manager 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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
+