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/29.yml CHANGED
@@ -2,23 +2,16 @@
2
2
  :id: 29
3
3
  :name: Distinct powers
4
4
  :url: http://projecteuler.net/problem=29
5
- :content: "\r\n\n<p>Consider all integer combinations of <i>a</i><sup><i>b</i></sup>
6
- for 2 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
7
- style=\"vertical-align:middle;\"><i>a</i> <img src=\"images/symbol_le.gif\" width=\"10\"
8
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 5 and 2 <img
9
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>b</i>
10
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
11
- style=\"vertical-align:middle;\"> 5:</p>\n<blockquote>2<sup>2</sup>=4, 2<sup>3</sup>=8,
12
- 2<sup>4</sup>=16, 2<sup>5</sup>=32<br>\n3<sup>2</sup>=9, 3<sup>3</sup>=27, 3<sup>4</sup>=81,
13
- 3<sup>5</sup>=243<br>\n4<sup>2</sup>=16, 4<sup>3</sup>=64, 4<sup>4</sup>=256, 4<sup>5</sup>=1024<br>\n5<sup>2</sup>=25,
14
- 5<sup>3</sup>=125, 5<sup>4</sup>=625, 5<sup>5</sup>=3125<br>\n</blockquote>\n<p>If
15
- they are then placed in numerical order, with any repeats removed, we get the following
16
- sequence of 15 distinct terms:</p>\n<p style=\"text-align:center;\">4, 8, 9, 16,
17
- 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125</p>\n<p>How many distinct terms
18
- are in the sequence generated by <i>a</i><sup><i>b</i></sup> for 2 <img src=\"images/symbol_le.gif\"
19
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>a</i>
20
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
21
- style=\"vertical-align:middle;\"> 100 and 2 <img src=\"images/symbol_le.gif\" width=\"10\"
22
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><i>b</i> <img
23
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
24
- 100?</p>\n\r\n"
5
+ :content: "Consider all integer combinations of _a_<sup><i>b</i></sup> for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
6
+ _a_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 5 and
7
+ 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) _b_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
8
+ 5:\n\n> 2<sup>2</sup>=4, 2<sup>3</sup>=8, 2<sup>4</sup>=16, 2<sup>5</sup>=32 \n>
9
+ 3<sup>2</sup>=9, 3<sup>3</sup>=27, 3<sup>4</sup>=81, 3<sup>5</sup>=243 \n> 4<sup>2</sup>=16,
10
+ 4<sup>3</sup>=64, 4<sup>4</sup>=256, 4<sup>5</sup>=1024 \n> 5<sup>2</sup>=25, 5<sup>3</sup>=125,
11
+ 5<sup>4</sup>=625, 5<sup>5</sup>=3125\n\nIf they are then placed in numerical order,
12
+ with any repeats removed, we get the following sequence of 15 distinct terms:\n\n4,
13
+ 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125\n\nHow many distinct
14
+ terms are in the sequence generated by _a_<sup><i>b</i></sup> for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
15
+ _a_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 100 and
16
+ 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) _b_ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
17
+ 100?\n\n"
@@ -2,7 +2,6 @@
2
2
  :id: 290
3
3
  :name: Digital Signature
4
4
  :url: http://projecteuler.net/problem=290
5
- :content: "\r\n<p>How many integers 0 <img src=\"images/symbol_le.gif\" width=\"10\"
6
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
7
- &amp;lt 10<sup>18</sup> have the property that the sum of the digits of <var>n</var>
8
- equals the sum of digits of 137<var>n</var>?</p>\r\n"
5
+ :content: |+
6
+ How many integers 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var> &lt 10<sup>18</sup> have the property that the sum of the digits of <var>n</var> equals the sum of digits of 137<var>n</var>?
7
+
@@ -2,9 +2,6 @@
2
2
  :id: 291
3
3
  :name: Panaitopol Primes
4
4
  :url: http://projecteuler.net/problem=291
5
- :content: "\r\n<p>\r\nA prime number <var>p</var> is called a Panaitopol prime if
6
- <img src=\"project/images/p_291_formula.gif\" style=\"vertical-align:middle\"> for
7
- some positive integers<br><var>x</var> and <var>y</var>.\r\n</p>\r\n<p>\r\nFind
8
- how many Panaitopol primes are less than 5<img src=\"images/symbol_times.gif\" width=\"9\"
9
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">10<sup>15</sup>.\r\n</p>\r\n\r\n
10
- \ \r\n"
5
+ :content: "A prime number <var>p</var> is called a Panaitopol prime if ![](/home/will/src/euler-manager/config/../data/images/p_291_formula.gif)
6
+ for some positive integers \n <var>x</var> and <var>y</var>.\n\nFind how many Panaitopol
7
+ primes are less than 5 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)10<sup>15</sup>.\n\n"
@@ -2,12 +2,11 @@
2
2
  :id: 292
3
3
  :name: Pythagorean Polygons
4
4
  :url: http://projecteuler.net/problem=292
5
- :content: "\r\n<p>We shall define a <i>pythagorean polygon</i> to be a <b>convex
6
- polygon</b> with the following properties:<br></p>\n<ul>\n<li>there are at least
7
- three vertices,</li>\r\n<li>no three vertices are aligned,</li>\r\n<li>each vertex
8
- has <b>integer coordinates</b>,</li>\r\n<li>each edge has <b>integer length</b>.</li>\n</ul>\n<p>For
9
- a given integer <var>n</var>, define P(<var>n</var>) as the number of distinct pythagorean
10
- polygons for which the perimeter is <img src=\"images/symbol_le.gif\" width=\"10\"
11
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>.<br>\r\nPythagorean
12
- polygons should be considered distinct as long as none is a translation of another.</p>\r\n\r\n<p>You
13
- are given that P(4) = 1, P(30) = 3655 and P(60) = 891045.<br>\r\nFind P(120).</p>\r\n"
5
+ :content: "We shall define a _pythagorean polygon_ to be a **convex polygon** with
6
+ the following properties:\n\n- there are at least three vertices,\n- no three vertices
7
+ are aligned,\n- each vertex has **integer coordinates** ,\n- each edge has **integer
8
+ length** .\n\nFor a given integer <var>n</var>, define P(<var>n</var>) as the number
9
+ of distinct pythagorean polygons for which the perimeter is ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var>.
10
+ \ \n\rPythagorean polygons should be considered distinct as long as none is a translation
11
+ of another.\n\nYou are given that P(4)= 1, P(30) = 3655 and P(60) = 891045. \n\rFind
12
+ P(120).\n\n"
@@ -2,14 +2,13 @@
2
2
  :id: 293
3
3
  :name: Pseudo-Fortunate Numbers
4
4
  :url: http://projecteuler.net/problem=293
5
- :content: "\r\n<p>\r\nAn even positive integer N will be called admissible, if it
6
- is a power of 2 or its distinct prime factors are consecutive primes.<br>\r\nThe
7
- first twelve admissible numbers are 2,4,6,8,12,16,18,24,30,32,36,48.\r\n</p>\r\n<p>\r\nIf
8
- N is admissible, the smallest integer M <img src=\"images/symbol_gt.gif\" width=\"10\"
9
- height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\"> 1 such
10
- that N+M is prime, will be called the pseudo-Fortunate number for N.\r\n</p>\r\n<p>\r\nFor
5
+ :content: "An even positive integer N will be called admissible, if it is a power
6
+ of 2 or its distinct prime factors are consecutive primes. \n\rThe first twelve
7
+ admissible numbers are 2,4,6,8,12,16,18,24,30,32,36,48.\n\nIf N is admissible, the
8
+ smallest integer M ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)
9
+ 1 such that N+M is prime, will be called the pseudo-Fortunate number for N.\n\nFor
11
10
  example, N=630 is admissible since it is even and its distinct prime factors are
12
- the consecutive primes 2,3,5 and 7.<br> \r\nThe next prime number after 631 is 641;
13
- hence, the pseudo-Fortunate number for 630 is M=11.<br>\r\nIt can also be seen that
14
- the pseudo-Fortunate number for 16 is 3.\r\n</p>\r\n<p>\r\nFind the sum of all distinct
15
- pseudo-Fortunate numbers for admissible numbers N less than 10<sup>9</sup>.\r\n</p>\r\n\r\n\r\n\r\n"
11
+ the consecutive primes 2,3,5 and 7. \n \rThe next prime number after 631 is 641;
12
+ hence, the pseudo-Fortunate number for 630 is M=11. \n\rIt can also be seen that
13
+ the pseudo-Fortunate number for 16 is 3.\n\nFind the sum of all distinct pseudo-Fortunate
14
+ numbers for admissible numbers N less than 10<sup>9</sup>.\n\n"
@@ -2,9 +2,9 @@
2
2
  :id: 294
3
3
  :name: 'Sum of digits - experience #23'
4
4
  :url: http://projecteuler.net/problem=294
5
- :content: "\r\n<p>\r\nFor a positive integer k, define d(k) as the sum of the digits
6
- of k in its usual decimal representation.\r\nThus d(42) = 4+2 = 6.\r\n</p>\r\n<p>\r\nFor
7
- a positive integer n, define S(n) as the number of positive integers k n with the
8
- following properties :\r\n</p>\n<ul>\n<li>k is divisible by 23 and\r\n</li>\n<li>d(k)
9
- = 23.\r\n</li>\n</ul>\r\nYou are given that S(9) = 263626 and S(42) = 6377168878570056.\r\n\r\n<p>\r\nFind
10
- S(11<sup>12</sup>) and give your answer mod 10<sup>9</sup>.\r\n</p>\r\n\r\n"
5
+ :content: "For a positive integer k, define d(k) as the sum of the digits of k in
6
+ its usual decimal representation.\rThus d(42) = 4+2 = 6.\n\nFor a positive integer
7
+ n, define S(n) as the number of positive integers k n with the following properties
8
+ :\n\n- k is divisible by 23 and\r\n- d(k) = 23.\r\n\r\rYou are given that S(9) =
9
+ 263626 and S(42) = 6377168878570056.\r\r\n\nFind S(11<sup>12</sup>) and give your
10
+ answer mod 10<sup>9</sup>.\n\n"
@@ -2,25 +2,20 @@
2
2
  :id: 295
3
3
  :name: Lenticular holes
4
4
  :url: http://projecteuler.net/problem=295
5
- :content: "\r\n<p>We call the convex area enclosed by two circles a <i>lenticular
6
- hole</i> if:\r\n</p>\n<ul>\n<li>The centres of both circles are on lattice points.</li>\r\n<li>The
7
- two circles intersect at two distinct lattice points.</li>\r\n<li>The interior of
8
- the convex area enclosed by both circles does not contain any lattice points.\r\n</li>\r\n</ul>\n<p>Consider
9
- the circles:<br>\r\nC<sub>0</sub>: <var>x</var><sup>2</sup>+<var>y</var><sup>2</sup>=25<br>\r\nC<sub>1</sub>:
10
- (<var>x</var>+4)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=1<br>\r\nC<sub>2</sub>:
11
- (<var>x</var>-12)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=65\r\n</p>\r\n<p>\r\nThe
5
+ :content: "We call the convex area enclosed by two circles a _lenticular hole_ if:\n\n-
6
+ The centres of both circles are on lattice points.\n- The two circles intersect
7
+ at two distinct lattice points.\n- The interior of the convex area enclosed by both
8
+ circles does not contain any lattice points.\r\n\nConsider the circles: \n\rC<sub>0</sub>:
9
+ <var>x</var><sup>2</sup>+<var>y</var><sup>2</sup>=25 \n\rC<sub>1</sub>: (<var>x</var>+4)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=1
10
+ \ \n\rC<sub>2</sub>: (<var>x</var>-12)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=65\n\nThe
12
11
  circles C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> are drawn in the picture
13
- below.</p>\r\n<div align=\"center\"><img src=\"project/images/p295_lenticular.gif\"></div>\r\n<p>\r\nC<sub>0</sub>
14
- and C<sub>1</sub> form a lenticular hole, as well as C<sub>0</sub> and C<sub>2</sub>.</p>\r\n<p>\r\nWe
15
- call an ordered pair of positive real numbers (r<sub>1</sub>, r<sub>2</sub>) a <i>lenticular
16
- pair</i> if there exist two circles with radii r<sub>1</sub> and r<sub>2</sub> that
17
- form a lenticular hole.\r\nWe can verify that (1, 5) and (5, <img src=\"images/symbol_radic.gif\"
18
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">65)
19
- are the lenticular pairs of the example above.</p>\r\n<p>\r\nLet L(N) be the number
20
- of <b>distinct</b> lenticular pairs (r<sub>1</sub>, r<sub>2</sub>) for which 0 <img
21
- src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
22
- style=\"vertical-align:middle;\"> r<sub>1</sub><img src=\"images/symbol_le.gif\"
23
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
24
- r<sub>2</sub><img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
25
- border=\"0\" style=\"vertical-align:middle;\"> N.<br>\r\nWe can verify that L(10)
26
- = 30 and L(100) = 3442.</p>\r\n<p>\r\nFind L(100 000).\r\n</p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"
12
+ below.\n\n ![](/home/will/src/euler-manager/config/../data/images/p295_lenticular.gif)\n\nC<sub>0</sub>
13
+ and C<sub>1</sub> form a lenticular hole, as well as C<sub>0</sub> and C<sub>2</sub>.\n\nWe
14
+ call an ordered pair of positive real numbers (r<sub>1</sub>, r<sub>2</sub>) a _lenticular
15
+ pair_ if there exist two circles with radii r<sub>1</sub> and r<sub>2</sub> that
16
+ form a lenticular hole.\rWe can verify that (1, 5) and (5, ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)65)
17
+ are the lenticular pairs of the example above.\n\nLet L(N) be the number of **distinct**
18
+ lenticular pairs (r<sub>1</sub>, r<sub>2</sub>) for which 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
19
+ r<sub>1</sub> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
20
+ r<sub>2</sub> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
21
+ N. \n\rWe can verify that L(10) = 30 and L(100) = 3442.\n\nFind L(100 000).\n\n"
@@ -2,14 +2,12 @@
2
2
  :id: 296
3
3
  :name: Angular Bisector and Tangent
4
4
  :url: http://projecteuler.net/problem=296
5
- :content: "\r\n<p>\r\nGiven is an integer sided triangle <var>ABC</var> with <var>BC</var>
6
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
7
- style=\"vertical-align:middle;\"><var>AC</var> <img src=\"images/symbol_le.gif\"
8
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>AB</var>.<br><var>k</var>
9
- is the angular bisector of angle <var>ACB</var>.<br><var>m</var> is the tangent
10
- at <var>C</var> to the circumscribed circle of <var>ABC</var>.<br><var>n</var> is
11
- a line parallel to <var>m</var> through <var>B</var>.<br>\r\nThe intersection of
12
- <var>n</var> and <var>k</var> is called <var>E</var>.\r\n</p>\r\n<div align=\"center\"><img
13
- src=\"project/images/p296_bisector.gif\"></div>\r\n<p>\r\nHow many triangles <var>ABC</var>
14
- with a perimeter not exceeding 100 000 exist such that <var>BE</var> has integral
15
- length?\r\n</p>\r\n\r\n\r\n"
5
+ :content: "Given is an integer sided triangle <var>ABC</var> with <var>BC</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
6
+ <var>AC</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
7
+ <var>AB</var>. \n<var>k</var> is the angular bisector of angle <var>ACB</var>.
8
+ \ \n <var>m</var> is the tangent at <var>C</var> to the circumscribed circle of
9
+ <var>ABC</var>. \n <var>n</var> is a line parallel to <var>m</var> through <var>B</var>.
10
+ \ \n\rThe intersection of <var>n</var> and <var>k</var> is called <var>E</var>.\n\n
11
+ ![](/home/will/src/euler-manager/config/../data/images/p296_bisector.gif)\n\nHow
12
+ many triangles <var>ABC</var> with a perimeter not exceeding 100 000 exist such
13
+ that <var>BE</var> has integral length?\n\n"
@@ -2,18 +2,15 @@
2
2
  :id: 297
3
3
  :name: Zeckendorf Representation
4
4
  :url: http://projecteuler.net/problem=297
5
- :content: "\r\n<p>Each new term in the Fibonacci sequence is generated by adding the
6
- previous two terms.<br>\r\nStarting with 1 and 2, the first 10 terms will be: 1,
7
- 2, 3, 5, 8, 13, 21, 34, 55, 89.</p>\r\n\r\n<p>Every positive integer can be uniquely
8
- written as a sum of nonconsecutive terms of the Fibonacci sequence. For example,
9
- 100 = 3 + 8 + 89.<br>\r\nSuch a sum is called the <b>Zeckendorf representation</b>
10
- of the number.</p>\r\n\r\n<p>For any integer <var>n</var>&gt;0, let <var>z</var>(<var>n</var>)
11
- be the number of terms in the Zeckendorf representation of <var>n</var>.<br>\r\nThus,
12
- <var>z</var>(5) = 1, <var>z</var>(14) = 2, <var>z</var>(100) = 3 etc.<br>\r\nAlso,
13
- for 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
14
- style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_lt.gif\" width=\"10\"
15
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">10<sup>6</sup>,
16
- ∑ <var>z</var>(<var>n</var>) = 7894453.</p>\r\n\r\n<p>Find ∑ <var>z</var>(<var>n</var>)
17
- for 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
18
- style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_lt.gif\" width=\"10\"
19
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">10<sup>17</sup>.</p>\r\n"
5
+ :content: "Each new term in the Fibonacci sequence is generated by adding the previous
6
+ two terms. \n\rStarting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8,
7
+ 13, 21, 34, 55, 89.\n\nEvery positive integer can be uniquely written as a sum of
8
+ nonconsecutive terms of the Fibonacci sequence. For example, 100 = 3 + 8 + 89. \n\rSuch
9
+ a sum is called the **Zeckendorf representation** of the number.\n\nFor any integer
10
+ <var>n</var>>0, let <var>z</var>(<var>n</var>) be the number of terms in the Zeckendorf
11
+ representation of <var>n</var>. \n\rThus, <var>z</var>(5) = 1, <var>z</var>(14) = 2,
12
+ <var>z</var>(100) = 3 etc. \n\rAlso, for 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)<var>n</var>
13
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)10<sup>6</sup>,
14
+ ∑ <var>z</var>(<var>n</var>) = 7894453.\n\nFind ∑ <var>z</var>(<var>n</var>) for
15
+ 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)<var>n</var>
16
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)10<sup>17</sup>.\n\n"
@@ -2,45 +2,45 @@
2
2
  :id: 298
3
3
  :name: Selective Amnesia
4
4
  :url: http://projecteuler.net/problem=298
5
- :content: "\r\n<style type=\"text/css\">\r\ntable.p298, table.p298 th, table.p298
5
+ :content: "<style type=\"text/css\"><![CDATA[\r\ntable.p298, table.p298 th, table.p298
6
6
  td {\r\n border-width: 1px 1px 1px 1px;\r\n border-style: solid solid solid solid;\r\n
7
7
  \ border-color: black black black black;\r\n text-align:center;\r\n -moz-border-radius:
8
8
  0px 0px 0px 0px;\r\n}\r\ntable.p298 {\r\n border-spacing: 1px;\r\n border-collapse:
9
9
  separate;\r\n background-color: rgb(255,255,255);\r\n}\r\ntable.p298 th, table.p298
10
10
  td {\r\n padding: 1px 6px 1px 6px;\r\n}\r\ntable.p298 th { background-color: rgb(200,220,250);
11
- }\r\ntable.p298 td { background-color: rgb(255,255,255); }\r\n</style>\n<p>Larry
11
+ }\r\ntable.p298 td { background-color: rgb(255,255,255); }\r\n]]></style>\n\nLarry
12
12
  and Robin play a memory game involving of a sequence of random numbers between 1
13
13
  and 10, inclusive, that are called out one at a time. Each player can remember up
14
14
  to 5 previous numbers. When the called number is in a player's memory, that player
15
15
  is awarded a point. If it's not, the player adds the called number to his memory,
16
- removing another number if his memory is full.</p>\r\n\r\n<p>Both players start
17
- with empty memories. Both players always add new missed numbers to their memory
18
- but use a different strategy in deciding which number to remove:<br>\r\nLarry's
19
- strategy is to remove the number that hasn't been called in the longest time.<br>\r\nRobin's
20
- strategy is to remove the number that's been in the memory the longest time.</p>\r\n\r\n<p>Example
21
- game:<br></p>\n<center><table class=\"p298\">\n<tr>\n<th>Turn</th>\r\n <th>Called<br>number</th>\r\n
22
- \ <th style=\"text-align:right\">Larry's<br>memory</th>\r\n <th>Larry's<br>score</th>\r\n
23
- \ <th style=\"text-align:right\">Robin's<br>memory</th>\r\n <th>Robin's<br>score</th>\r\n</tr>\n<tr>\n<td>1</td>\r\n
24
- \ <td>1</td>\r\n <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n <td
25
- style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n</tr>\n<tr>\n<td>2</td>\r\n
16
+ removing another number if his memory is full.\n\nBoth players start with empty
17
+ memories. Both players always add new missed numbers to their memory but use a different
18
+ strategy in deciding which number to remove: \n\rLarry's strategy is to remove
19
+ the number that hasn't been called in the longest time. \n\rRobin's strategy is
20
+ to remove the number that's been in the memory the longest time.\n\nExample game:\n\n<center><table
21
+ class=\"p298\">\r\n<tr>\r\n <th>Turn</th>\r\n <th>Called<br>number</th>\r\n <th
22
+ style=\"text-align:right\">Larry's<br>memory</th>\r\n <th>Larry's<br>score</th>\r\n
23
+ \ <th style=\"text-align:right\">Robin's<br>memory</th>\r\n <th>Robin's<br>score</th>\r\n</tr>\r\n<tr>\r\n
24
+ \ <td>1</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n
25
+ \ <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n <td>2</td>\r\n
26
26
  \ <td>2</td>\r\n <td style=\"text-align:right\">1,2</td>\r\n <td>0</td>\r\n <td
27
- style=\"text-align:right\">1,2</td>\r\n <td>0</td>\r\n</tr>\n<tr>\n<td>3</td>\r\n
27
+ style=\"text-align:right\">1,2</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n <td>3</td>\r\n
28
28
  \ <td>4</td>\r\n <td style=\"text-align:right\">1,2,4</td>\r\n <td>0</td>\r\n
29
- \ <td style=\"text-align:right\">1,2,4</td>\r\n <td>0</td>\r\n</tr>\n<tr>\n<td>4</td>\r\n
30
- \ <td>6</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n
31
- \ <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n</tr>\n<tr>\n<td>5</td>\r\n
32
- \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n
33
- \ <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>6</td>\r\n
34
- \ <td>8</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n
35
- \ <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>7</td>\r\n
36
- \ <td>10</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>1</td>\r\n
37
- \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>8</td>\r\n
38
- \ <td>2</td>\r\n <td style=\"text-align:right\">1,2,6,8,10</td>\r\n <td>1</td>\r\n
39
- \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>2</td>\r\n</tr>\n<tr>\n<td>9</td>\r\n
40
- \ <td>4</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n <td>1</td>\r\n
41
- \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n<tr>\n<td>10</td>\r\n
42
- \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n <td>2</td>\r\n
43
- \ <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n</table></center>\r\n\r\n<p>Denoting
29
+ \ <td style=\"text-align:right\">1,2,4</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n
30
+ \ <td>4</td>\r\n <td>6</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n
31
+ \ <td>0</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n
32
+ \ <td>5</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n
33
+ \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
34
+ \ <td>6</td>\r\n <td>8</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n
35
+ \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
36
+ \ <td>7</td>\r\n <td>10</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n
37
+ \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
38
+ \ <td>8</td>\r\n <td>2</td>\r\n <td style=\"text-align:right\">1,2,6,8,10</td>\r\n
39
+ \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>2</td>\r\n</tr>\r\n<tr>\r\n
40
+ \ <td>9</td>\r\n <td>4</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n
41
+ \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\r\n<tr>\r\n
42
+ \ <td>10</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n
43
+ \ <td>2</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n</table></center>\n\nDenoting
44
44
  Larry's score by <var>L</var> and Robin's score by <var>R</var>, what is the expected
45
45
  value of |<var>L</var>-<var>R</var>| after 50 turns? Give your answer rounded to
46
- eight decimal places using the format x.xxxxxxxx .</p>\r\n"
46
+ eight decimal places using the format x.xxxxxxxx .\n\n"
@@ -2,30 +2,24 @@
2
2
  :id: 299
3
3
  :name: Three similar triangles
4
4
  :url: http://projecteuler.net/problem=299
5
- :content: "\r\n<p>Four points with integer coordinates are selected:<br>A(<var>a</var>, 0),
6
- B(<var>b</var>, 0), C(0, <var>c</var>) and D(0, <var>d</var>), \r\nwith 0 <img src=\"images/symbol_lt.gif\"
7
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> <var>a</var> <img
8
- src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
9
- style=\"vertical-align:middle;\"> <var>b</var> and 0 <img src=\"images/symbol_lt.gif\"
10
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> <var>c</var> <img
11
- src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
12
- style=\"vertical-align:middle;\"> <var>d</var>.<br>\r\nPoint P, also with integer
13
- coordinates, is chosen on the line AC so that the three triangles ABP, CDP and BDP
14
- are all <dfn title=\"Have equal angles\">similar</dfn>.</p>\r\n<div align=\"center\"><img
15
- src=\"project/images/p_299_ThreeSimTri.gif\"></div>\r\n<p>It is easy to prove that
16
- the three triangles can be similar, only if <var>a</var>=<var>c</var>.</p>\r\n\r\n<p>So,
5
+ :content: "Four points with integer coordinates are selected: \nA(<var>a</var>, 0),
6
+ B(<var>b</var>, 0), C(0, <var>c</var>) and D(0, <var>d</var>), \rwith 0  ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>a</var> 
7
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>b</var>
8
+ and 0  ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>c</var> 
9
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>d</var>.
10
+ \ \n\rPoint P, also with integer coordinates, is chosen on the line AC so that the
11
+ three triangles ABP, CDP and BDP are all <dfn title=\"Have equal angles\">similar</dfn>.\n\n
12
+ ![](/home/will/src/euler-manager/config/../data/images/p_299_ThreeSimTri.gif)\n\nIt
13
+ is easy to prove that the three triangles can be similar, only if <var>a</var>=<var>c</var>.\n\nSo,
17
14
  given that <var>a</var>=<var>c</var>, we are looking for triplets (<var>a</var>,<var>b</var>,<var>d</var>)
18
15
  such that at least one point P (with integer coordinates) exists on AC, making the
19
- three triangles ABP, CDP and BDP all similar.</p>\r\n\r\n<p>For example, if (<var>a</var>,<var>b</var>,<var>d</var>)=(2,3,4),
20
- it can be easily verified that point P(1,1) satisfies the above condition. \r\nNote
16
+ three triangles ABP, CDP and BDP all similar.\n\nFor example, if (<var>a</var>,<var>b</var>,<var>d</var>)=(2,3,4),
17
+ it can be easily verified that point P(1,1) satisfies the above condition. \rNote
21
18
  that the triplets (2,3,4) and (2,4,3) are considered as distinct, although point
22
- P(1,1) is common for both.</p>\r\n\r\n<p>If <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
23
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100,
19
+ P(1,1) is common for both.\n\nIf <var>b</var>+<var>d</var>  ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 100,
24
20
  there are 92 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that
25
- point P exists.<br>\r\nIf <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
26
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100
21
+ point P exists. \n\rIf <var>b</var>+<var>d</var>  ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 100
27
22
  000, there are 320471 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>)
28
- such that point P exists.</p>\r\n<p>If <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
29
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100
23
+ such that point P exists.\n\nIf <var>b</var>+<var>d</var>  ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 100
30
24
  000 000, how many distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) are
31
- there such that point P exists?</p>\r\n"
25
+ there such that point P exists?\n\n"
data/data/problems/3.yml CHANGED
@@ -2,6 +2,6 @@
2
2
  :id: 3
3
3
  :name: Largest prime factor
4
4
  :url: http://projecteuler.net/problem=3
5
- :content: "\r\n<p>The prime factors of 13195 are 5, 7, 13 and 29.</p>\r\n<p>What is
6
- the largest prime factor of the number 600851475143 ?</p>\r\n<!--\r\nNote: This
7
- problem has been changed recently, please check that you are using the right number.\r\n-->\r\n\r\n"
5
+ :content: "The prime factors of 13195 are 5, 7, 13 and 29.\n\nWhat is the largest
6
+ prime factor of the number 600851475143 ?\n\n<!--\r\nNote: This problem has been
7
+ changed recently, please check that you are using the right number.\r\n-->\n"
data/data/problems/30.yml CHANGED
@@ -2,11 +2,10 @@
2
2
  :id: 30
3
3
  :name: Digit fifth powers
4
4
  :url: http://projecteuler.net/problem=30
5
- :content: "\r\n\n<p>Surprisingly there are only three numbers that can be written
6
- as the sum of fourth powers of their digits:</p>\n<blockquote>1634 = 1<sup>4</sup>
7
- + 6<sup>4</sup> + 3<sup>4</sup> + 4<sup>4</sup><br>\n8208 = 8<sup>4</sup> + 2<sup>4</sup>
8
- + 0<sup>4</sup> + 8<sup>4</sup><br>\n9474 = 9<sup>4</sup> + 4<sup>4</sup> + 7<sup>4</sup>
9
- + 4<sup>4</sup>\n</blockquote>\n<p class=\"info\">As 1 = 1<sup>4</sup> is not a
10
- sum it is not included.</p>\n<p>The sum of these numbers is 1634 + 8208 + 9474 =
11
- 19316.</p>\n<p>Find the sum of all the numbers that can be written as the sum of
12
- fifth powers of their digits.</p>\n\r\n"
5
+ :content: "Surprisingly there are only three numbers that can be written as the sum
6
+ of fourth powers of their digits:\n\n> 1634 = 1<sup>4</sup> + 6<sup>4</sup> + 3<sup>4</sup>
7
+ + 4<sup>4</sup> \n> 8208 = 8<sup>4</sup> + 2<sup>4</sup> + 0<sup>4</sup> + 8<sup>4</sup>
8
+ \ \n> 9474 = 9<sup>4</sup> + 4<sup>4</sup> + 7<sup>4</sup> + 4<sup>4</sup>\n\nAs
9
+ 1 = 1<sup>4</sup> is not a sum it is not included.\n\nThe sum of these numbers is
10
+ 1634 + 8208 + 9474 = 19316.\n\nFind the sum of all the numbers that can be written
11
+ as the sum of fifth powers of their digits.\n\n"
@@ -2,23 +2,22 @@
2
2
  :id: 300
3
3
  :name: Protein folding
4
4
  :url: http://projecteuler.net/problem=300
5
- :content: "\r\n<p>In a very simplified form, we can consider proteins as strings consisting
6
- of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. <br>\r\nFor this problem,
5
+ :content: "In a very simplified form, we can consider proteins as strings consisting
6
+ of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. \n\rFor this problem,
7
7
  the orientation of a protein is important; e.g. HPP is considered distinct from
8
8
  PPH. Thus, there are 2<sup><var>n</var></sup> distinct proteins consisting of <var>n</var>
9
- elements.</p>\r\n\r\n<p>When one encounters these strings in nature, they are always
10
- folded in such a way that the number of H-H contact points is as large as possible,
11
- since this is energetically advantageous.<br>\r\nAs a result, the H-elements tend
12
- to accumulate in the inner part, with the P-elements on the outside.<br>\r\nNatural
13
- proteins are folded in three dimensions of course, but we will only consider protein
14
- folding in <u>two dimensions</u>.</p>\r\n\r\n<p>The figure below shows two possible
15
- ways that our example protein could be folded (H-H contact points are shown with
16
- red dots).</p>\r\n\r\n<div align=\"center\"><img src=\"project/images/p_300_protein.gif\"></div>\r\n\r\n<p>The
17
- folding on the left has only six H-H contact points, thus it would never occur naturally.<br>\r\nOn
18
- the other hand, the folding on the right has nine H-H contact points, which is optimal
19
- for this string.</p>\r\n\r\n<p>Assuming that H and P elements are equally likely
9
+ elements.\n\nWhen one encounters these strings in nature, they are always folded
10
+ in such a way that the number of H-H contact points is as large as possible, since
11
+ this is energetically advantageous. \n\rAs a result, the H-elements tend to accumulate
12
+ in the inner part, with the P-elements on the outside. \n\rNatural proteins are
13
+ folded in three dimensions of course, but we will only consider protein folding
14
+ in <u>two dimensions</u>.\n\nThe figure below shows two possible ways that our example
15
+ protein could be folded (H-H contact points are shown with red dots).\n\n ![](/home/will/src/euler-manager/config/../data/images/p_300_protein.gif)\n\nThe
16
+ folding on the left has only six H-H contact points, thus it would never occur naturally.
17
+ \ \n\rOn the other hand, the folding on the right has nine H-H contact points, which
18
+ is optimal for this string.\n\nAssuming that H and P elements are equally likely
20
19
  to occur in any position along the string, the average number of H-H contact points
21
- in an optimal folding of a random protein string of length 8 turns out to be 850 / 2<sup>8</sup>=3.3203125.</p>\r\n\r\n<p>What
20
+ in an optimal folding of a random protein string of length 8 turns out to be 850 / 2<sup>8</sup>=3.3203125.\n\nWhat
22
21
  is the average number of H-H contact points in an optimal folding of a random protein
23
- string of length 15?<br>\r\nGive your answer using as many decimal places as necessary
24
- for an exact result.</p>\r\n"
22
+ string of length 15? \n\rGive your answer using as many decimal places as necessary
23
+ for an exact result.\n\n"
@@ -2,24 +2,22 @@
2
2
  :id: 301
3
3
  :name: Nim
4
4
  :url: http://projecteuler.net/problem=301
5
- :content: "\r\n<p><i>Nim</i> is a game played with heaps of stones, where two players
6
- take it in turn to remove any number of stones from any heap until no stones remain.</p>\r\n\r\n<p>We'll
7
- consider the three-heap normal-play version of Nim, which works as follows:<br>\r\n-
8
- At the start of the game there are three heaps of stones.<br>\r\n- On his turn the
9
- player removes any positive number of stones from any single heap.<br>\r\n- The
10
- first player unable to move (because no stones remain) loses.</p>\r\n\r\n<p> If
11
- (<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>) indicates
12
- a Nim position consisting of heaps of size <var>n</var><sub>1</sub>, <var>n</var><sub>2</sub>
5
+ :content: "_Nim_ is a game played with heaps of stones, where two players take it
6
+ in turn to remove any number of stones from any heap until no stones remain.\n\nWe'll
7
+ consider the three-heap normal-play version of Nim, which works as follows: \n\r-
8
+ At the start of the game there are three heaps of stones. \n\r- On his turn the
9
+ player removes any positive number of stones from any single heap. \n\r- The first
10
+ player unable to move (because no stones remain) loses.\n\nIf (<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>)
11
+ indicates a Nim position consisting of heaps of size <var>n</var><sub>1</sub>, <var>n</var><sub>2</sub>
13
12
  and <var>n</var><sub>3</sub> then there is a simple function <var>X</var>(<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>)
14
- — that you may look up or attempt to deduce for yourself — that returns:\r\n</p>\n<ul>\n<li>zero
15
- if, with perfect strategy, the player about to move will eventually lose; or</li>\r\n<li>non-zero
16
- if, with perfect strategy, the player about to move will eventually win.</li>\n</ul>\n<p>For
13
+ — that you may look up or attempt to deduce for yourself — that returns:\n\n- zero
14
+ if, with perfect strategy, the player about to move will eventually lose; or\n-
15
+ non-zero if, with perfect strategy, the player about to move will eventually win.\n\nFor
17
16
  example <var>X</var>(1,2,3) = 0 because, no matter what the current player does,
18
17
  his opponent can respond with a move that leaves two heaps of equal size, at which
19
18
  point every move by the current player can be mirrored by his opponent until no
20
- stones remain; so the current player loses. To illustrate:<br>\r\n- current player
21
- moves to (1,2,1)<br>\r\n- opponent moves to (1,0,1)<br>\r\n- current player moves
22
- to (0,0,1)<br>\r\n- opponent moves to (0,0,0), and so wins.</p>\r\n\r\n<p>For how
23
- many positive integers <var>n</var> <img src=\"images/symbol_le.gif\" width=\"10\"
24
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">2<sup>30</sup>
25
- does <var>X</var>(<var>n</var>,2<var>n</var>,3<var>n</var>) = 0 ?\r\n</p>\r\n\r\n"
19
+ stones remain; so the current player loses. To illustrate: \n\r- current player
20
+ moves to (1,2,1) \n\r- opponent moves to (1,0,1) \n\r- current player moves to
21
+ (0,0,1) \n\r- opponent moves to (0,0,0), and so wins.\n\nFor how many positive
22
+ integers <var>n</var>  ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 2<sup>30</sup>
23
+ does <var>X</var>(<var>n</var>,2<var>n</var>,3<var>n</var>) = 0 ?\n\n"
@@ -2,17 +2,16 @@
2
2
  :id: 302
3
3
  :name: Strong Achilles Numbers
4
4
  :url: http://projecteuler.net/problem=302
5
- :content: "\r\n<p>\r\nA positive integer <var>n</var> is <b>powerful</b> if p<sup>2</sup>
6
- is a divisor of <var>n</var> for every prime factor p in <var>n</var>.\r\n</p>\r\n<p>\r\nA
7
- positive integer <var>n</var> is a <b>perfect power</b> if <var>n</var> can be expressed
8
- as a power of another positive integer.\r\n</p>\r\n<p>\r\nA positive integer <var>n</var>
9
- is an <b>Achilles number</b> if <var>n</var> is powerful but not a perfect power.
10
- For example, 864 and 1800 are Achilles numbers: 864 = 2<sup>5</sup>·3<sup>3</sup>
11
- and 1800 = 2<sup>3</sup>·3<sup>2</sup>·5<sup>2</sup>.\r\n</p>\r\n<p>\r\nWe shall
12
- call a positive integer <var>S</var> a <i>Strong Achilles number</i> if both <var>S</var>
13
- and φ(<var>S</var>) are Achilles numbers.<sup>1</sup><br>\r\nFor example, 864 is
14
- a Strong Achilles number: φ(864) = 288 = 2<sup>5</sup>·3<sup>2</sup>. However, 1800
15
- isn't a Strong Achilles number because: φ(1800) = 480 = 2<sup>5</sup>·3<sup>1</sup>·5<sup>1</sup>.\r\n</p>\r\n<p>There
16
- are 7 Strong Achilles numbers below 10<sup>4</sup> and 656 below 10<sup>8</sup>.\r\n</p>\r\n<p>\r\nHow
17
- many Strong Achilles numbers are there below 10<sup>18</sup>?\r\n</p>\r\n<p>\r\n<sup>1</sup>
18
- φ denotes <b>Euler's totient function</b>.\r\n</p>\r\n\r\n\r\n\r\n\r\n\r\n"
5
+ :content: "A positive integer <var>n</var> is **powerful** if p<sup>2</sup> is a divisor
6
+ of <var>n</var> for every prime factor p in <var>n</var>.\n\nA positive integer
7
+ <var>n</var> is a **perfect power** if <var>n</var> can be expressed as a power
8
+ of another positive integer.\n\nA positive integer <var>n</var> is an **Achilles
9
+ number** if <var>n</var> is powerful but not a perfect power. For example, 864 and
10
+ 1800 are Achilles numbers: 864 = 2<sup>5</sup>·3<sup>3</sup> and 1800 = 2<sup>3</sup>·3<sup>2</sup>·5<sup>2</sup>.\n\nWe
11
+ shall call a positive integer <var>S</var> a _Strong Achilles number_ if both <var>S</var>
12
+ and φ(<var>S</var>) are Achilles numbers.<sup>1</sup> \n\rFor example, 864 is a
13
+ Strong Achilles number: φ(864) = 288 = 2<sup>5</sup>·3<sup>2</sup>. However, 1800
14
+ isn't a Strong Achilles number because: φ(1800) = 480 = 2<sup>5</sup>·3<sup>1</sup>·5<sup>1</sup>.\n\nThere
15
+ are 7 Strong Achilles numbers below 10<sup>4</sup> and 656 below 10<sup>8</sup>.\n\nHow
16
+ many Strong Achilles numbers are there below 10<sup>18</sup>?\n\n<sup>1</sup> φ
17
+ denotes **Euler's totient function** .\n\n"
@@ -2,10 +2,12 @@
2
2
  :id: 303
3
3
  :name: Multiples with small digits
4
4
  :url: http://projecteuler.net/problem=303
5
- :content: "\r\n<p>\r\nFor a positive integer <var>n</var>, define <var>f</var>(<var>n</var>)
6
- as the least positive multiple of <var>n</var> that, written in base 10, uses only
7
- digits <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
8
- style=\"vertical-align:middle;\"> 2.</p>\r\n<p>Thus <var>f</var>(2)=2, <var>f</var>(3)=12,
9
- <var>f</var>(7)=21, <var>f</var>(42)=210, <var>f</var>(89)=1121222.</p>\r\n<p>Also,
10
- <img src=\"project/images/p303_formula100.gif\" style=\"vertical-align:middle\">.</p>\r\n<p>\r\nFind
11
- <img src=\"project/images/p303_formula10000.gif\" style=\"vertical-align:middle\">.\r\n</p>\r\n\r\n"
5
+ :content: |+
6
+ For a positive integer <var>n</var>, define <var>f</var>(<var>n</var>) as the least positive multiple of <var>n</var> that, written in base 10, uses only digits ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 2.
7
+
8
+ Thus <var>f</var>(2)=2, <var>f</var>(3)=12, <var>f</var>(7)=21, <var>f</var>(42)=210, <var>f</var>(89)=1121222.
9
+
10
+ Also, ![](/home/will/src/euler-manager/config/../data/images/p303_formula100.gif).
11
+
12
+ Find ![](/home/will/src/euler-manager/config/../data/images/p303_formula10000.gif).
13
+