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
@@ -2,19 +2,12 @@
2
2
  :id: 407
3
3
  :name: Idempotents
4
4
  :url: http://projecteuler.net/problem=407
5
- :content: "\r\n<p>\r\nIf we calculate <var>a</var><sup>2</sup> mod 6 for 0 <img src=\"images/symbol_le.gif\"
6
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>a</var>
7
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
8
- style=\"vertical-align:middle;\"> 5 we get: 0,1,4,3,4,1.\r\n</p>\r\n<p>\r\nThe largest
9
- value of <var>a</var> such that <var>a</var><sup>2</sup><img src=\"images/symbol_cong.gif\"
10
- width=\"9\" height=\"11\" alt=\"≡\" border=\"0\" style=\"vertical-align:middle;\"><var>a</var>
11
- mod 6 is 4.<br>\r\nLet's call M(<var>n</var>) the largest value of <var>a</var>
12
- <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
13
- style=\"vertical-align:middle;\"><var>n</var> such that <var>a</var><sup>2</sup><img
14
- src=\"images/symbol_cong.gif\" width=\"9\" height=\"11\" alt=\"≡\" border=\"0\"
15
- style=\"vertical-align:middle;\"><var>a</var> (mod <var>n</var>).<br>\r\nSo M(6)
16
- = 4.\r\n</p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\"
17
- alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">M(<var>n</var>) for 1 <img
18
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
19
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
20
- style=\"vertical-align:middle;\"> 10<sup>7</sup>.\r\n</p>\r\n\r\n"
5
+ :content: "If we calculate <var>a</var><sup>2</sup> mod 6 for 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
6
+ <var>a</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
7
+ 5 we get: 0,1,4,3,4,1.\n\nThe largest value of <var>a</var> such that <var>a</var><sup>2</sup>
8
+ ![≡](/home/will/src/euler-manager/config/../data/images/symbol_cong.gif) <var>a</var>
9
+ mod 6 is 4. \n\rLet's call M(<var>n</var>) the largest value of <var>a</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
10
+ <var>n</var> such that <var>a</var><sup>2</sup> ![≡](/home/will/src/euler-manager/config/../data/images/symbol_cong.gif)
11
+ <var>a</var> (mod <var>n</var>). \n\rSo M(6) = 4.\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)M(<var>n</var>)
12
+ for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var>
13
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 10<sup>7</sup>.\n\n"
@@ -2,13 +2,13 @@
2
2
  :id: 408
3
3
  :name: Admissible paths through a grid
4
4
  :url: http://projecteuler.net/problem=408
5
- :content: "\r\n<p>Let's call a lattice point (<var>x</var>, <var>y</var>) <i>inadmissible</i>
5
+ :content: "Let's call a lattice point (<var>x</var>, <var>y</var>) _inadmissible_
6
6
  if <var>x</var>, <var>y</var> and <var>x</var> + <var>y</var> are all positive perfect
7
- squares.<br>\r\nFor example, (9, 16) is inadmissible, while (0, 4), (3, 1) and (9,
8
- 4) are not.</p>\r\n\r\n<p>Consider a path from point (<var>x</var><sub>1</sub>,
9
- <var>y</var><sub>1</sub>) to point (<var>x</var><sub>2</sub>, <var>y</var><sub>2</sub>)
10
- using only unit steps north or east.<br>\r\nLet's call such a path <i>admissible</i>
11
- if none of its intermediate points are inadmissible.</p>\r\n\r\n<p>Let P(<var>n</var>)
12
- be the number of admissible paths from (0, 0) to (<var>n</var>, <var>n</var>).<br>\r\nIt
13
- can be verified that P(5) = 252, P(16) = 596994440 and P(1000) mod 1 000 000 007
14
- = 341920854.</p>\r\n\r\n<p>Find P(10 000 000) mod 1 000 000 007.</p>\r\n"
7
+ squares. \n\rFor example, (9, 16) is inadmissible, while (0, 4), (3, 1) and (9,
8
+ 4) are not.\n\nConsider a path from point (<var>x</var><sub>1</sub>, <var>y</var><sub>1</sub>)
9
+ to point (<var>x</var><sub>2</sub>, <var>y</var><sub>2</sub>) using only unit steps
10
+ north or east. \n\rLet's call such a path _admissible_ if none of its intermediate
11
+ points are inadmissible.\n\nLet P(<var>n</var>) be the number of admissible paths
12
+ from (0, 0) to (<var>n</var>, <var>n</var>). \n\rIt can be verified that P(5) =
13
+ 252, P(16) = 596994440 and P(1000) mod 1 000 000 007 = 341920854.\n\nFind P(10 000 000)
14
+ mod 1 000 000 007.\n\n"
@@ -2,11 +2,9 @@
2
2
  :id: 409
3
3
  :name: Nim Extreme
4
4
  :url: http://projecteuler.net/problem=409
5
- :content: "\r\n<p>Let <var>n</var> be a positive integer. Consider <b>nim</b> positions
6
- where:</p>\n<ul>\n<li>There are <var>n</var> non-empty piles.\r\n</li>\n<li>Each
7
- pile has size less than 2<sup><var>n</var></sup>.\r\n</li>\n<li>No two piles have
8
- the same size.\r\n</li>\n</ul>\n<p>Let W(<var>n</var>) be the number of winning
9
- nim positions satisfying the above\r\nconditions (a position is winning if the first
5
+ :content: "Let <var>n</var> be a positive integer. Consider **nim** positions where:\n\n-
6
+ There are <var>n</var> non-empty piles.\r\n- Each pile has size less than 2<sup><var>n</var></sup>.\r\n-
7
+ No two piles have the same size.\r\n\nLet W(<var>n</var>) be the number of winning
8
+ nim positions satisfying the above\rconditions (a position is winning if the first
10
9
  player has a winning strategy). For example, W(1) = 1, W(2) = 6, W(3) = 168, W(5)
11
- = 19764360 and W(100) mod 1 000 000 007 = 384777056.\r\n</p>\r\n<p>Find W(10 000 000)
12
- mod 1 000 000 007.\r\n</p>\r\n\r\n"
10
+ = 19764360 and W(100) mod 1 000 000 007 = 384777056.\n\nFind W(10 000 000) mod 1 000 000 007.\n\n"
data/data/problems/41.yml CHANGED
@@ -2,7 +2,8 @@
2
2
  :id: 41
3
3
  :name: Pandigital prime
4
4
  :url: http://projecteuler.net/problem=41
5
- :content: "\r\n\n<p>We shall say that an <i>n</i>-digit number is pandigital if it
6
- makes use of all the digits 1 to <i>n</i> exactly once. For example, 2143 is a 4-digit
7
- pandigital and is also prime.</p>\n<p>What is the largest <i>n</i>-digit pandigital
8
- prime that exists?</p>\n\r\n"
5
+ :content: |+
6
+ We shall say that an _n_-digit number is pandigital if it makes use of all the digits 1 to _n_ exactly once. For example, 2143 is a 4-digit pandigital and is also prime.
7
+
8
+ What is the largest _n_-digit pandigital prime that exists?
9
+
@@ -2,18 +2,15 @@
2
2
  :id: 410
3
3
  :name: Circle and tangent line
4
4
  :url: http://projecteuler.net/problem=410
5
- :content: "\r\n<p>Let C be the circle with radius <var>r</var>, <var>x</var><sup>2</sup>
5
+ :content: "Let C be the circle with radius <var>r</var>, <var>x</var><sup>2</sup>
6
6
  + <var>y</var><sup>2</sup> = <var>r</var><sup>2</sup>. We choose two points P(<var>a</var>,
7
7
  <var>b</var>) and Q(-<var>a</var>, <var>c</var>) so that the line passing through
8
- P and Q is tangent to C.</p>\r\n\r\n<p>For example, the quadruplet (<var>r</var>,
9
- <var>a</var>, <var>b</var>, <var>c</var>) = (2, 6, 2, -7) satisfies this property.</p>\r\n\r\n<p>Let
10
- F(<var>R</var>, <var>X</var>) be the number of the integer quadruplets (<var>r</var>,
11
- <var>a</var>, <var>b</var>, <var>c</var>) with this property, and with 0 <img src=\"images/symbol_lt.gif\"
12
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>r</var>
13
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
14
- style=\"vertical-align:middle;\"><var>R</var> and 0 <img src=\"images/symbol_lt.gif\"
15
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>a</var>
16
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
17
- style=\"vertical-align:middle;\"><var>X</var>.</p>\r\n\r\n<p>We can verify that
18
- F(1, 5) = 10, F(2, 10) = 52 and F(10, 100) = 3384.<br>\r\nFind F(10<sup>8</sup>,
19
- 10<sup>9</sup>) + F(10<sup>9</sup>, 10<sup>8</sup>).</p>\r\n"
8
+ P and Q is tangent to C.\n\nFor example, the quadruplet (<var>r</var>, <var>a</var>,
9
+ <var>b</var>, <var>c</var>) = (2, 6, 2, -7) satisfies this property.\n\nLet F(<var>R</var>,
10
+ <var>X</var>) be the number of the integer quadruplets (<var>r</var>, <var>a</var>,
11
+ <var>b</var>, <var>c</var>) with this property, and with 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
12
+ <var>r</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
13
+ <var>R</var> and 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
14
+ <var>a</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
15
+ <var>X</var>.\n\nWe can verify that F(1, 5) = 10, F(2, 10) = 52 and F(10, 100) =
16
+ 3384. \n\rFind F(10<sup>8</sup>, 10<sup>9</sup>) + F(10<sup>9</sup>, 10<sup>8</sup>).\n\n"
@@ -2,22 +2,18 @@
2
2
  :id: 411
3
3
  :name: Uphill paths
4
4
  :url: http://projecteuler.net/problem=411
5
- :content: "\r\n<p>\r\nLet <var>n</var> be a positive integer. Suppose there are stations
6
- at the coordinates (<var>x</var>, <var>y</var>) = (2<sup><var>i</var></sup> mod
7
- <var>n</var>, 3<sup><var>i</var></sup> mod <var>n</var>) for 0 <img src=\"images/symbol_le.gif\"
8
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var>
9
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
10
- style=\"vertical-align:middle;\"> 2<var>n</var>. We will consider stations with
11
- the same coordinates as the same station.\r\n</p>\n<p>\r\nWe wish to form a path
12
- from (0, 0) to (<var>n</var>, <var>n</var>) such that the x and y coordinates never
13
- decrease.<br>\r\nLet S(<var>n</var>) be the maximum number of stations such a path
14
- can pass through.\r\n</p>\n<p>\r\nFor example, if <var>n</var> = 22, there are 11
15
- distinct stations, and a valid path can pass through at most 5 stations. Therefore,
16
- S(22) = 5.\r\nThe case is illustrated below, with an example of an optimal path:\r\n</p>\r\n<p
17
- align=\"center\"><img src=\"project/images/p411_longpath.png\"></p>\r\n<p>\r\nIt
18
- can also be verified that S(123) = 14 and S(10000) = 48.\r\n</p>\n<p>\r\nFind <img
19
- src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
20
- style=\"vertical-align:middle;\"> S(<var>k</var><sup>5</sup>) for 1 <img src=\"images/symbol_le.gif\"
21
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>k</var>
22
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
23
- style=\"vertical-align:middle;\"> 30.\r\n</p>\r\n"
5
+ :content: "Let <var>n</var> be a positive integer. Suppose there are stations at the
6
+ coordinates (<var>x</var>, <var>y</var>) = (2<sup><var>i</var></sup> mod <var>n</var>,
7
+ 3<sup><var>i</var></sup> mod <var>n</var>) for 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
8
+ <var>i</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
9
+ 2<var>n</var>. We will consider stations with the same coordinates as the same station.\n\nWe
10
+ wish to form a path from (0, 0) to (<var>n</var>, <var>n</var>) such that the x
11
+ and y coordinates never decrease. \n\rLet S(<var>n</var>) be the maximum number
12
+ of stations such a path can pass through.\n\nFor example, if <var>n</var> = 22,
13
+ there are 11 distinct stations, and a valid path can pass through at most 5 stations.
14
+ Therefore, S(22) = 5.\rThe case is illustrated below, with an example of an optimal
15
+ path:\n\n![](/home/will/src/euler-manager/config/../data/images/p411_longpath.png)\n\nIt
16
+ can also be verified that S(123) = 14 and S(10000) = 48.\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)
17
+ S(<var>k</var><sup>5</sup>) for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
18
+ <var>k</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
19
+ 30.\n\n"
@@ -2,18 +2,14 @@
2
2
  :id: 412
3
3
  :name: Gnomon numbering
4
4
  :url: http://projecteuler.net/problem=412
5
- :content: "\r\n<p>For integers <var>m</var>, <var>n</var> (0 <img src=\"images/symbol_le.gif\"
6
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> <var>n</var> m),
7
- let L(<var>m</var>, <var>n</var>) be an <var>m</var><img src=\"images/symbol_times.gif\"
8
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"><var>m</var>
9
- grid with the top-right <var>n</var><img src=\"images/symbol_times.gif\" width=\"9\"
10
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
11
- grid removed.</p>\r\n\r\n<p>For example, L(5, 3) looks like this:</p>\r\n\r\n<p><img
12
- src=\"project/images/p412_table53.png\"></p>\r\n\r\n<p>We want to number each cell
13
- of L(<var>m</var>, <var>n</var>) with consecutive integers 1, 2, 3, ... such that
14
- the number in every cell is smaller than the number below it and to the left of
15
- it.</p>\r\n\r\n<p>For example, here are two valid numberings of L(5, 3):</p>\r\n<p><img
16
- src=\"project/images/p412_tablenums.png\"></p>\r\n\r\n<p>Let LC(<var>m</var>, <var>n</var>)
17
- be the number of valid numberings of L(<var>m</var>, <var>n</var>).<br>\r\nIt can
18
- be verified that LC(3, 0) = 42, LC(5, 3) = 250250, LC(6, 3) = 406029023400 and LC(10, 5)
19
- mod 76543217 = 61251715.</p>\r\n\r\n<p>Find LC(10000, 5000) mod 76543217.</p>\r\n"
5
+ :content: "For integers <var>m</var>, <var>n</var> (0  ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var> m),
6
+ let L(<var>m</var>, <var>n</var>) be an <var>m</var> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)<var>m</var>
7
+ grid with the top-right <var>n</var> ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)<var>n</var>
8
+ grid removed.\n\nFor example, L(5, 3) looks like this:\n\n![](/home/will/src/euler-manager/config/../data/images/p412_table53.png)\n\nWe
9
+ want to number each cell of L(<var>m</var>, <var>n</var>) with consecutive integers
10
+ 1, 2, 3, ... such that the number in every cell is smaller than the number below
11
+ it and to the left of it.\n\nFor example, here are two valid numberings of L(5, 3):\n\n![](/home/will/src/euler-manager/config/../data/images/p412_tablenums.png)\n\nLet
12
+ LC(<var>m</var>, <var>n</var>) be the number of valid numberings of L(<var>m</var>,
13
+ <var>n</var>). \n\rIt can be verified that LC(3, 0) = 42, LC(5, 3) = 250250, LC(6, 3)
14
+ = 406029023400 and LC(10, 5) mod 76543217 = 61251715.\n\nFind LC(10000, 5000) mod
15
+ 76543217.\n\n"
@@ -2,12 +2,12 @@
2
2
  :id: 413
3
3
  :name: One-child Numbers
4
4
  :url: http://projecteuler.net/problem=413
5
- :content: "\r\n<p>We say that a <var>d</var>-digit positive number (no leading zeros)
6
- is a one-child number if exactly one of its sub-strings is divisible by <var>d</var>.</p>\r\n\r\n<p>For
5
+ :content: "We say that a <var>d</var>-digit positive number (no leading zeros) is
6
+ a one-child number if exactly one of its sub-strings is divisible by <var>d</var>.\n\nFor
7
7
  example, 5671 is a 4-digit one-child number. Among all its sub-strings 5, 6, 7,
8
- 1, 56, 67, 71, 567, 671 and 5671, only 56 is divisible by 4.<br>\r\nSimilarly, 104
9
- is a 3-digit one-child number because only 0 is divisible by 3.<br>\r\n1132451 is
10
- a 7-digit one-child number because only 245 is divisible by 7.</p>\r\n\r\n<p>Let
11
- F(<var>N</var>) be the number of the one-child numbers less than <var>N</var>.<br>\r\nWe
12
- can verify that F(10) = 9, F(10<sup>3</sup>) = 389 and F(10<sup>7</sup>) = 277674.</p>\r\n\r\n<p>Find
13
- F(10<sup>19</sup>).</p>\r\n"
8
+ 1, 56, 67, 71, 567, 671 and 5671, only 56 is divisible by 4. \n\rSimilarly, 104
9
+ is a 3-digit one-child number because only 0 is divisible by 3. \n\r1132451 is
10
+ a 7-digit one-child number because only 245 is divisible by 7.\n\nLet F(<var>N</var>)
11
+ be the number of the one-child numbers less than <var>N</var>. \n\rWe can verify
12
+ that F(10) = 9, F(10<sup>3</sup>) = 389 and F(10<sup>7</sup>) = 277674.\n\nFind
13
+ F(10<sup>19</sup>).\n\n"
@@ -2,39 +2,34 @@
2
2
  :id: 414
3
3
  :name: Kaprekar constant
4
4
  :url: http://projecteuler.net/problem=414
5
- :content: "\r\n<p>\r\n6174 is a remarkable number; if we sort its digits in increasing
6
- order and subtract that number from the number you get when you sort the digits
7
- in decreasing order, we get 7641-1467=6174.<br>\r\nEven more remarkable is that
8
- if we start from any 4 digit number and repeat this process of sorting and subtracting,
9
- we'll eventually end up with 6174 or immediately with 0 if all digits are equal.<br>
10
- \r\nThis also works with numbers that have less than 4 digits if we pad the number
11
- with leading zeroes until we have 4 digits.<br>\r\nE.g. let's start with the number
12
- 0837:<br>\r\n8730-0378=8352<br>\r\n8532-2358=6174\r\n</p>\r\n<p>\r\n6174 is called
13
- the <b>Kaprekar constant</b>. The process of sorting and subtracting and repeating
14
- this until either 0 or the Kaprekar constant is reached is called the <b>Kaprekar
15
- routine</b>.\r\n</p>\r\n<p>\r\nWe can consider the Kaprekar routine for other bases
16
- and number of digits.<br> \r\nUnfortunately, it is not guaranteed a Kaprekar constant
17
- exists in all cases; either the routine can end up in a cycle for some input numbers
18
- or the constant the routine arrives at can be different for different input numbers.<br>\r\nHowever,
19
- it can be shown that for 5 digits and a base b = 6t+3<img src=\"images/symbol_ne.gif\"
20
- width=\"11\" height=\"10\" alt=\"≠\" border=\"0\" style=\"vertical-align:middle;\">9,
21
- a Kaprekar constant exists.<br>\r\nE.g. base 15: (10,4,14,9,5)<sub>15</sub><br>\r\nbase
22
- 21: (14,6,20,13,7)<sub>21</sub></p>\r\n<p>\r\nDefine <var>C<sub>b</sub></var> to
23
- be the Kaprekar constant in base <var>b</var> for 5 digits.\r\nDefine the function
24
- <var>sb(i)</var> to be\r\n</p>\n<ul>\n<li> 0 if i = <var>C<sub>b</sub></var> or
25
- if <var>i</var> written in base <var>b</var> consists of 5 identical digits\r\n</li>\n<li>
26
- the number of iterations it takes the Kaprekar routine in base <var>b</var> to arrive
27
- at <var>C<sub>b</sub></var>, otherwise\r\n</li>\n</ul>\r\nNote that we can define
28
- <var>sb(i)</var> for all integers <var>i</var> <img src=\"images/symbol_lt.gif\"
29
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>b</var><sup>5</sup>.
5
+ :content: "6174 is a remarkable number; if we sort its digits in increasing order
6
+ and subtract that number from the number you get when you sort the digits in decreasing
7
+ order, we get 7641-1467=6174. \n\rEven more remarkable is that if we start from
8
+ any 4 digit number and repeat this process of sorting and subtracting, we'll eventually
9
+ end up with 6174 or immediately with 0 if all digits are equal. \n \rThis also
10
+ works with numbers that have less than 4 digits if we pad the number with leading
11
+ zeroes until we have 4 digits. \n\rE.g. let's start with the number 0837: \n\r8730-0378=8352
12
+ \ \n\r8532-2358=6174\n\n6174 is called the **Kaprekar constant** . The process of
13
+ sorting and subtracting and repeating this until either 0 or the Kaprekar constant
14
+ is reached is called the **Kaprekar routine** .\n\nWe can consider the Kaprekar
15
+ routine for other bases and number of digits. \n \rUnfortunately, it is not guaranteed
16
+ a Kaprekar constant exists in all cases; either the routine can end up in a cycle
17
+ for some input numbers or the constant the routine arrives at can be different for
18
+ different input numbers. \n\rHowever, it can be shown that for 5 digits and a base
19
+ b = 6t+3 ![≠](/home/will/src/euler-manager/config/../data/images/symbol_ne.gif)9,
20
+ a Kaprekar constant exists. \n\rE.g. base 15: (10,4,14,9,5)<sub>15</sub> \n\rbase
21
+ 21: (14,6,20,13,7)<sub>21</sub>\n\nDefine <var>C<sub>b</sub></var> to be the Kaprekar
22
+ constant in base <var>b</var> for 5 digits.\rDefine the function <var>sb(i)</var>
23
+ to be\n\n- 0 if i = <var>C<sub>b</sub></var> or if <var>i</var> written in base
24
+ <var>b</var> consists of 5 identical digits\r\n- the number of iterations it takes
25
+ the Kaprekar routine in base <var>b</var> to arrive at <var>C<sub>b</sub></var>,
26
+ otherwise\r\n\rNote that we can define <var>sb(i)</var> for all integers <var>i</var>
27
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>b</var><sup>5</sup>.
30
28
  If <var>i</var> written in base <var>b</var> takes less than 5 digits, the number
31
29
  is padded with leading zero digits until we have 5 digits before applying the Kaprekar
32
- routine.\r\n\r\n<p>\r\nDefine <var>S(b)</var> as the sum of <var>sb(i)</var> for
33
- 0 <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
34
- style=\"vertical-align:middle;\"><var>i</var> <img src=\"images/symbol_lt.gif\"
35
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>b</var><sup>5</sup>.<br>\r\nE.g.
36
- S(15) = 5274369<br> \r\nS(111) = 400668930299\r\n</p>\r\n<p>\r\nFind the sum of
37
- S(6k+3) for 2 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
38
- border=\"0\" style=\"vertical-align:middle;\"> k <img src=\"images/symbol_le.gif\"
39
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
40
- 300.<br>\r\nGive the last 18 digits as your answer.\r\n</p>\r\n\r\n"
30
+ routine.\r\r\n\nDefine <var>S(b)</var> as the sum of <var>sb(i)</var> for 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
31
+ <var>i</var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
32
+ <var>b</var><sup>5</sup>. \n\rE.g. S(15) = 5274369 \n \rS(111) = 400668930299\n\nFind
33
+ the sum of S(6k+3) for 2 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
34
+ k ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 300. \n\rGive
35
+ the last 18 digits as your answer.\n\n"
@@ -2,18 +2,15 @@
2
2
  :id: 415
3
3
  :name: Titanic sets
4
4
  :url: http://projecteuler.net/problem=415
5
- :content: "\r\n<p>A set of lattice points S is called a <i>titanic set</i> if there
6
- exists a line passing through exactly two points in S.</p>\r\n\r\n<p>An example
7
- of a titanic set is S = {(0, 0), (0, 1), (0, 2), (1, 1), (2, 0), (1, 0)}, where
8
- the line passing through (0, 1) and (2, 0) does not pass through any other point
9
- in S.</p>\r\n\r\n<p>On the other hand, the set {(0, 0), (1, 1), (2, 2), (4, 4)}
10
- is not a titanic set since the line passing through any two points in the set also
11
- passes through the other two.</p>\r\n\r\n<p>For any positive integer <var>N</var>,
12
- let <var>T</var>(<var>N</var>) be the number of titanic sets S whose every point
13
- (<var>x</var>, <var>y</var>) satisfies 0 <img src=\"images/symbol_le.gif\" width=\"10\"
14
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>x</var>,
15
- <var>y</var> <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
16
- border=\"0\" style=\"vertical-align:middle;\"><var>N</var>.\r\nIt can be verified
17
- that <var>T</var>(1) = 11, <var>T</var>(2) = 494, <var>T</var>(4) = 33554178, <var>T</var>(111)
18
- mod 10<sup>8</sup> = 13500401 and <var>T</var>(10<sup>5</sup>) mod 10<sup>8</sup>
19
- = 63259062.</p>\r\n\r\n<p>Find <var>T</var>(10<sup>11</sup>) mod 10<sup>8</sup>.</p>\r\n\r\n"
5
+ :content: "A set of lattice points S is called a _titanic set_ if there exists a line
6
+ passing through exactly two points in S.\n\nAn example of a titanic set is S = {(0,
7
+ 0), (0, 1), (0, 2), (1, 1), (2, 0), (1, 0)}, where the line passing through (0,
8
+ 1) and (2, 0) does not pass through any other point in S.\n\nOn the other hand,
9
+ the set {(0, 0), (1, 1), (2, 2), (4, 4)} is not a titanic set since the line passing
10
+ through any two points in the set also passes through the other two.\n\nFor any
11
+ positive integer <var>N</var>, let <var>T</var>(<var>N</var>) be the number of titanic
12
+ sets S whose every point (<var>x</var>, <var>y</var>) satisfies 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
13
+ <var>x</var>, <var>y</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
14
+ <var>N</var>.\rIt can be verified that <var>T</var>(1) = 11, <var>T</var>(2) = 494,
15
+ <var>T</var>(4) = 33554178, <var>T</var>(111) mod 10<sup>8</sup> = 13500401 and
16
+ <var>T</var>(10<sup>5</sup>) mod 10<sup>8</sup> = 63259062.\n\nFind <var>T</var>(10<sup>11</sup>) mod 10<sup>8</sup>.\n\n"
@@ -2,12 +2,12 @@
2
2
  :id: 416
3
3
  :name: A frog's trip
4
4
  :url: http://projecteuler.net/problem=416
5
- :content: "\r\n<p>A row of <var>n</var> squares contains a frog in the leftmost square.
6
- By successive jumps the frog goes to the rightmost square and then back to the leftmost
5
+ :content: "A row of <var>n</var> squares contains a frog in the leftmost square. By
6
+ successive jumps the frog goes to the rightmost square and then back to the leftmost
7
7
  square. On the outward trip he jumps one, two or three squares to the right, and
8
8
  on the homeward trip he jumps to the left in a similar manner. He cannot jump outside
9
- the squares. He repeats the round-trip travel <var>m</var> times.</p>\r\n\r\n<p>Let
10
- F(<var>m</var>, <var>n</var>) be the number of the ways the frog can travel so that
11
- at most one square remains unvisited.<br>\r\nFor example, F(1, 3) = 4, F(1, 4) =
12
- 15, F(1, 5) = 46, F(2, 3) = 16 and F(2, 100) mod 10<sup>9</sup> = 429619151.</p>\r\n\r\n<p>Find
13
- the last 9 digits of F(10, 10<sup>12</sup>).</p>\r\n"
9
+ the squares. He repeats the round-trip travel <var>m</var> times.\n\nLet F(<var>m</var>,
10
+ <var>n</var>) be the number of the ways the frog can travel so that at most one
11
+ square remains unvisited. \n\rFor example, F(1, 3) = 4, F(1, 4) = 15, F(1, 5) =
12
+ 46, F(2, 3) = 16 and F(2, 100) mod 10<sup>9</sup> = 429619151.\n\nFind the last
13
+ 9 digits of F(10, 10<sup>12</sup>).\n\n"
@@ -2,20 +2,19 @@
2
2
  :id: 417
3
3
  :name: Reciprocal cycles II
4
4
  :url: http://projecteuler.net/problem=417
5
- :content: "\r\n<p>A unit fraction contains 1 in the numerator. The decimal representation
6
- of the unit fractions with denominators 2 to 10 are given:</p>\r\n<blockquote>\r\n<table>\n<tr>\n<td>\n<sup>1</sup>/<sub>2</sub>\n</td>\n<td>= </td>\n<td>0.5</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>3</sub>\n</td>\n<td>= </td>\n<td>0.(3)</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>4</sub>\n</td>\n<td>= </td>\n<td>0.25</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>5</sub>\n</td>\n<td>= </td>\n<td>0.2</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>6</sub>\n</td>\n<td>= </td>\n<td>0.1(6)</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>7</sub>\n</td>\n<td>= </td>\n<td>0.(142857)</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>8</sub>\n</td>\n<td>= </td>\n<td>0.125</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>9</sub>\n</td>\n<td>= </td>\n<td>0.(1)</td>\r\n</tr>\n<tr>\n<td>\n<sup>1</sup>/<sub>10</sub>\n</td>\n<td>= </td>\n<td>0.1</td>\r\n</tr>\n</table>\n</blockquote>\r\n<p>Where
7
- 0.1(6) means 0.166666..., and has a 1-digit recurring cycle. It can be seen that
8
- <sup>1</sup>/<sub>7</sub> has a 6-digit recurring cycle.</p>\r\n<p>\r\nUnit fractions
9
- whose denominator has no other prime factors than 2 and/or 5 are not considered
10
- to have a recurring cycle.<br>\r\nWe define the length of the recurring cycle of
11
- those unit fractions as 0. \r\n</p>\r\n<p>\r\nLet L(n) denote the length of the
12
- recurring cycle of 1/n.\r\nYou are given that <img src=\"images/symbol_sum.gif\"
13
- width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">L(n)
14
- for 3 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
15
- style=\"vertical-align:middle;\"> n <img src=\"images/symbol_le.gif\" width=\"10\"
16
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 1 000 000
17
- equals 55535191115.\r\n</p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\" width=\"11\"
18
- height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">L(n) for 3
19
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
20
- style=\"vertical-align:middle;\"> n <img src=\"images/symbol_le.gif\" width=\"10\"
21
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 100 000 000\r\n</p>"
5
+ :content: "A unit fraction contains 1 in the numerator. The decimal representation
6
+ of the unit fractions with denominators 2 to 10 are given:\n\n> | <sup>1</sup>/<sub>2</sub>
7
+ | =  | 0.5 |\n> | <sup>1</sup>/<sub>3</sub> | =  | 0.(3) |\n> | <sup>1</sup>/<sub>4</sub>
8
+ | =  | 0.25 |\n> | <sup>1</sup>/<sub>5</sub> | =  | 0.2 |\n> | <sup>1</sup>/<sub>6</sub>
9
+ | =  | 0.1(6) |\n> | <sup>1</sup>/<sub>7</sub> | =  | 0.(142857) |\n> | <sup>1</sup>/<sub>8</sub>
10
+ | =  | 0.125 |\n> | <sup>1</sup>/<sub>9</sub> | =  | 0.(1) |\n> | <sup>1</sup>/<sub>10</sub>
11
+ | =  | 0.1 |\n\nWhere 0.1(6) means 0.166666..., and has a 1-digit recurring cycle.
12
+ It can be seen that <sup>1</sup>/<sub>7</sub> has a 6-digit recurring cycle.\n\nUnit
13
+ fractions whose denominator has no other prime factors than 2 and/or 5 are not considered
14
+ to have a recurring cycle. \n\rWe define the length of the recurring cycle of those
15
+ unit fractions as 0.\n\nLet L(n) denote the length of the recurring cycle of 1/n.\rYou
16
+ are given that ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)L(n)
17
+ for 3 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) n ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
18
+ 1 000 000 equals 55535191115.\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)L(n)
19
+ for 3 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) n ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
20
+ 100 000 000\n\n"
@@ -2,16 +2,13 @@
2
2
  :id: 418
3
3
  :name: Factorisation triples
4
4
  :url: http://projecteuler.net/problem=418
5
- :content: "\r\n<p>\r\nLet <var>n</var> be a positive integer. An integer triple (<var>a</var>,
6
- <var>b</var>, <var>c</var>) is called a <i>factorisation triple</i> of <var>n</var>
7
- if:</p>\n<ul>\n<li> 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
8
- alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>a</var> <img src=\"images/symbol_le.gif\"
9
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>b</var>
10
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
11
- style=\"vertical-align:middle;\"><var>c</var>\r\n</li>\n<li> <var>a</var>·<var>b</var>·<var>c</var>
12
- = <var>n</var>.\r\n</li>\n</ul>\n<p>\r\nDefine <var>f</var>(<var>n</var>) to be
13
- <var>a</var> + <var>b</var> + <var>c</var> for the factorisation triple (<var>a</var>,
5
+ :content: "Let <var>n</var> be a positive integer. An integer triple (<var>a</var>,
6
+ <var>b</var>, <var>c</var>) is called a _factorisation triple_ of <var>n</var> if:\n\n-
7
+ 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>a</var>
8
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>b</var>
9
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>c</var>\n-
10
+ <var>a</var>·<var>b</var>·<var>c</var> = <var>n</var>.\r\n\nDefine <var>f</var>(<var>n</var>)
11
+ to be <var>a</var> + <var>b</var> + <var>c</var> for the factorisation triple (<var>a</var>,
14
12
  <var>b</var>, <var>c</var>) of <var>n</var> which minimises <var>c</var> / <var>a</var>.
15
- One can show that this triple is unique.\r\n</p>\r\n<p>\r\nFor example, <var>f</var>(165)
16
- = 19, <var>f</var>(100100) = 142 and <var>f</var>(20!) = 4034872.\r\n</p>\r\n<p>\r\nFind
17
- <var>f</var>(43!).\r\n</p>\r\n"
13
+ One can show that this triple is unique.\n\nFor example, <var>f</var>(165) = 19,
14
+ <var>f</var>(100100) = 142 and <var>f</var>(20!) = 4034872.\n\nFind <var>f</var>(43!).\n\n"
@@ -2,21 +2,16 @@
2
2
  :id: 419
3
3
  :name: Look and say sequence
4
4
  :url: http://projecteuler.net/problem=419
5
- :content: "\r\n<p>\r\nThe <b>look and say</b> sequence goes 1, 11, 21, 1211, 111221,
6
- 312211, 13112221, 1113213211, ...<br>\r\nThe sequence starts with 1 and all other
7
- members are obtained by describing the previous member in terms of consecutive digits.<br>\r\nIt
8
- helps to do this out loud:<br>\r\n1 is 'one one' <img src=\"images/symbol_maps.gif\"
9
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
10
- 11<br>\r\n11 is 'two ones' <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\"
11
- alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 21<br>\r\n21 is 'one two
12
- and one one' <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\"
13
- border=\"0\" style=\"vertical-align:middle;\"> 1211 <br>\r\n1211 is 'one one, one
14
- two and two ones' <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\"
15
- alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 111221<br>\r\n111221 is
16
- 'three ones, two twos and one one' <img src=\"images/symbol_maps.gif\" width=\"15\"
17
- height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\"> 312211<br>\r\n...\r\n</p>\r\n<p>\r\nDefine
18
- A(n), B(n) and C(n) as the number of ones, twos and threes in the n'th element of
19
- the sequence respectively.<br>\r\nOne can verify that A(40) = 31254, B(40) = 20259
20
- and C(40) = 11625.\r\n</p>\r\n<p>\r\nFind A(n), B(n) and C(n) for n = 10<sup>12</sup>.<br>
21
- \r\nGive your answer modulo 2<sup>30</sup> and separate your values for A, B and
22
- C by a comma.<br> \r\nE.g. for n = 40 the answer would be 31254,20259,11625\r\n</p>\r\n\r\n\r\n"
5
+ :content: "The **look and say** sequence goes 1, 11, 21, 1211, 111221, 312211, 13112221,
6
+ 1113213211, ... \n\rThe sequence starts with 1 and all other members are obtained
7
+ by describing the previous member in terms of consecutive digits. \n\rIt helps
8
+ to do this out loud: \n\r1 is 'one one' ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
9
+ 11 \n\r11 is 'two ones' ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
10
+ 21 \n\r21 is 'one two and one one' ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
11
+ 1211 \n\r1211 is 'one one, one two and two ones' ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
12
+ 111221 \n\r111221 is 'three ones, two twos and one one' ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif)
13
+ 312211 \n\r...\n\nDefine A(n), B(n) and C(n) as the number of ones, twos and threes
14
+ in the n'th element of the sequence respectively. \n\rOne can verify that A(40)
15
+ = 31254, B(40) = 20259 and C(40) = 11625.\n\nFind A(n), B(n) and C(n) for n = 10<sup>12</sup>.
16
+ \ \n \rGive your answer modulo 2<sup>30</sup> and separate your values for A, B
17
+ and C by a comma. \n \rE.g. for n = 40 the answer would be 31254,20259,11625\n\n"
data/data/problems/42.yml CHANGED
@@ -2,13 +2,12 @@
2
2
  :id: 42
3
3
  :name: Coded triangle numbers
4
4
  :url: http://projecteuler.net/problem=42
5
- :content: "\r\n<p>The <i>n</i><sup>th</sup> term of the sequence of triangle numbers
6
- is given by, <i>t<sub>n</sub></i> = ½<i>n</i>(<i>n</i>+1); so the first ten triangle
7
- numbers are:</p>\r\n<p style=\"text-align:center;\">1, 3, 6, 10, 15, 21, 28, 36,
8
- 45, 55, ...</p>\r\n<p>By converting each letter in a word to a number corresponding
9
- to its alphabetical position and adding these values we form a word value. For example,
10
- the word value for SKY is 19 + 11 + 25 = 55 = <i>t</i><sub>10</sub>. If the word
11
- value is a triangle number then we shall call the word a triangle word.</p>\r\n<p>Using
12
- <a href=\"project/words.txt\">words.txt</a> (right click and 'Save Link/Target As...'),
13
- a 16K text file containing nearly two-thousand common English words, how many are
14
- triangle words?</p>\r\n"
5
+ :content: |+
6
+ The _n_<sup>th</sup> term of the sequence of triangle numbers is given by, _t<sub>n</sub>_ = ½_n_(_n_+1); so the first ten triangle numbers are:
7
+
8
+ 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
9
+
10
+ By converting each letter in a word to a number corresponding to its alphabetical position and adding these values we form a word value. For example, the word value for SKY is 19 + 11 + 25 = 55 = _t_<sub>10</sub>. If the word value is a triangle number then we shall call the word a triangle word.
11
+
12
+ Using [words.txt](project/words.txt) (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, how many are triangle words?
13
+
@@ -2,12 +2,11 @@
2
2
  :id: 420
3
3
  :name: 2x2 positive integer matrix
4
4
  :url: http://projecteuler.net/problem=420
5
- :content: "\r\n<p>A <i>positive integer matrix</i> is a matrix whose elements are
6
- all positive integers.<br>\r\nSome positive integer matrices can be expressed as
7
- a square of a positive integer matrix in two different ways. Here is an example:</p>\r\n\r\n<div
8
- align=\"center\">\r\n<img src=\"project/images/p_420_matrix.gif\">\n</div>\r\n\r\n<p>\r\nWe
5
+ :content: "A _positive integer matrix_ is a matrix whose elements are all positive
6
+ integers. \n\rSome positive integer matrices can be expressed as a square of a
7
+ positive integer matrix in two different ways. Here is an example:\n\n ![](/home/will/src/euler-manager/config/../data/images/p_420_matrix.gif)\n\nWe
9
8
  define F(<var>N</var>) as the number of the 2x2 positive integer matrices which
10
9
  have a <dfn title=\"the sum of the elements on the main diagonal\">trace</dfn> less
11
10
  than <var>N</var> and which can be expressed as a square of a positive integer matrix
12
- in two different ways.<br>\r\nWe can verify that F(50) = 7 and F(1000) = 1019.\r\n</p>\r\n\r\n<p>\r\nFind
13
- F(10<sup>7</sup>).\r\n</p>\r\n"
11
+ in two different ways. \n\rWe can verify that F(50) = 7 and F(1000) = 1019.\n\nFind
12
+ F(10<sup>7</sup>).\n\n"