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
@@ -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"