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,18 +2,13 @@
2
2
  :id: 304
3
3
  :name: Primonacci
4
4
  :url: http://projecteuler.net/problem=304
5
- :content: "\r\n<p>\r\nFor any positive integer <var>n</var> the function next_prime(<var>n</var>)
6
- returns the smallest prime p <br> such that p<img src=\"images/symbol_gt.gif\" width=\"10\"
7
- height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>.\r\n</p>\r\n<p>\r\nThe
8
- sequence a(<var>n</var>) is defined by:<br>\r\na(1)=next_prime(10<sup>14</sup>)
9
- and a(<var>n</var>)=next_prime(a(<var>n</var>-1)) for n<img src=\"images/symbol_gt.gif\"
10
- width=\"10\" height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\">1.\r\n</p>\n<p></p>\r\n<p>\r\nThe
11
- fibonacci sequence f(<var>n</var>) is defined by:\r\nf(0)=0, f(1)=1 and f(<var>n</var>)=f(<var>n</var>-1)+f(<var>n</var>-2)
12
- for <var>n</var><img src=\"images/symbol_gt.gif\" width=\"10\" height=\"10\" alt=\"&gt;\"
13
- border=\"0\" style=\"vertical-align:middle;\">1.\r\n</p>\r\n<p>\r\nThe sequence
14
- b(<var>n</var>) is defined as f(a(<var>n</var>)).\r\n</p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\"
15
- width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">b(<var>n</var>)
16
- for 1<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
17
- style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_le.gif\" width=\"10\"
18
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">100 000. \r\nGive
19
- your answer mod 1234567891011. \r\n\r\n\r\n\r\n\r\n\r\n</p>"
5
+ :content: "For any positive integer <var>n</var> the function next\\_prime(<var>n</var>)
6
+ returns the smallest prime p \n such that p ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)<var>n</var>.\n\nThe
7
+ sequence a(<var>n</var>) is defined by: \n\ra(1)=next\\_prime(10<sup>14</sup>)
8
+ and a(<var>n</var>)=next\\_prime(a(<var>n</var>-1)) for n ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)1.\n\nThe
9
+ fibonacci sequence f(<var>n</var>) is defined by:\rf(0)=0, f(1)=1 and f(<var>n</var>)=f(<var>n</var>-1)+f(<var>n</var>-2)
10
+ for <var>n</var> ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)1.\n\nThe
11
+ sequence b(<var>n</var>) is defined as f(a(<var>n</var>)).\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)b(<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)100 000. \rGive
14
+ your answer mod 1234567891011.\n\n"
@@ -2,13 +2,9 @@
2
2
  :id: 305
3
3
  :name: Reflexive Position
4
4
  :url: http://projecteuler.net/problem=305
5
- :content: "\r\n<p>\r\nLet's call S the (infinite) string that is made by concatenating
6
- the consecutive positive integers (starting from 1) written down in base 10.<br>
7
- \r\nThus, S = 1234567891011121314151617181920212223242...\r\n</p>\r\n<p>\r\nIt's
8
- easy to see that any number will show up an infinite number of times in S.\r\n</p>\r\n<p>\r\nLet's
9
- call f(n) the starting position of the n<sup>th</sup> occurrence of n in S.<br>
10
- \r\nFor example, f(1)=1, f(5)=81, f(12)=271 and f(7780)=111111365.\r\n</p>\r\n<p>\r\nFind
11
- <img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
12
- style=\"vertical-align:middle;\">f(3<sup>k</sup>) for 1<img src=\"images/symbol_le.gif\"
13
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">k<img
14
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">13.\r\n</p>\r\n\r\n"
5
+ :content: "Let's call S the (infinite) string that is made by concatenating the consecutive
6
+ positive integers (starting from 1) written down in base 10. \n \rThus, S = 1234567891011121314151617181920212223242...\n\nIt's
7
+ easy to see that any number will show up an infinite number of times in S.\n\nLet's
8
+ call f(n) the starting position of the n<sup>th</sup> occurrence of n in S. \n
9
+ \rFor example, f(1)=1, f(5)=81, f(12)=271 and f(7780)=111111365.\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)f(3<sup>k</sup>)
10
+ for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)k ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)13.\n\n"
@@ -2,28 +2,24 @@
2
2
  :id: 306
3
3
  :name: Paper-strip Game
4
4
  :url: http://projecteuler.net/problem=306
5
- :content: "\r\n<p>The following game is a classic example of Combinatorial Game Theory:</p>\r\n\r\n<p>Two
5
+ :content: "The following game is a classic example of Combinatorial Game Theory:\n\nTwo
6
6
  players start with a strip of <var>n</var> white squares and they take alternate
7
- turns.<br>\r\nOn each turn, a player picks two contiguous white squares and paints
8
- them black.<br>\r\nThe first player who cannot make a move loses.</p>\r\n\r\n<p></p>\n<ul>\n<li>If
9
- <var>n</var> = 1, there are no valid moves, so the first player loses automatically.</li>\r\n<li>If
10
- <var>n</var> = 2, there is only one valid move, after which the second player loses.</li>\r\n<li>If
11
- <var>n</var> = 3, there are two valid moves, but both leave a situation where the
12
- second player loses.</li>\r\n<li>If <var>n</var> = 4, there are three valid moves
13
- for the first player; she can win the game by painting the two middle squares.</li>\r\n<li>If
14
- <var>n</var> = 5, there are four valid moves for the first player (shown below in
15
- red); but no matter what she does, the second player (blue) wins.</li>\r\n</ul>\n<div
16
- align=\"center\"><img src=\"project/images/p_306_pstrip.gif\"></div>\r\n\r\n\r\n<p>So,
17
- for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
18
- style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
19
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
20
- 5, there are 3 values of <var>n</var> for which the first player can force a win.<br>\r\nSimilarly,
21
- for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
22
- style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
23
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
24
- 50, there are 40 values of <var>n</var> for which the first player can force a win.</p>\r\n\r\n<p>For
25
- 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
26
- style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
27
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
28
- 1 000 000, how many values of <var>n</var> are there for which the first player
29
- can force a win?</p>\r\n"
7
+ turns. \n\rOn each turn, a player picks two contiguous white squares and paints
8
+ them black. \n\rThe first player who cannot make a move loses.\n\n- If <var>n</var>
9
+ = 1, there are no valid moves, so the first player loses automatically.\n- If <var>n</var>
10
+ = 2, there is only one valid move, after which the second player loses.\n- If <var>n</var>
11
+ = 3, there are two valid moves, but both leave a situation where the second player
12
+ loses.\n- If <var>n</var> = 4, there are three valid moves for the first player;
13
+ she can win the game by painting the two middle squares.\n- If <var>n</var> = 5,
14
+ there are four valid moves for the first player (shown below in red); but no matter
15
+ what she does, the second player (blue) wins.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_306_pstrip.gif)\n\nSo,
16
+ for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var>
17
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 5, there
18
+ are 3 values of <var>n</var> for which the first player can force a win. \n\rSimilarly,
19
+ for 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var>
20
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 50, there
21
+ are 40 values of <var>n</var> for which the first player can force a win.\n\nFor
22
+ 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>n</var>
23
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 1 000 000,
24
+ how many values of <var>n</var> are there for which the first player can force a
25
+ win?\n\n"
@@ -2,11 +2,10 @@
2
2
  :id: 307
3
3
  :name: Chip Defects
4
4
  :url: http://projecteuler.net/problem=307
5
- :content: "\r\n<p>\r\n<var>k</var> defects are randomly distributed amongst <var>n</var>
6
- integrated-circuit chips produced by a factory (any number of defects may be found
7
- on a chip and each defect is independent of the other defects).\r\n</p>\r\n<p>\r\nLet
8
- p(<var>k,n</var>) represent the probability that there is a chip with at least 3
9
- defects.<br>\r\nFor instance p(3,7) <img src=\"images/symbol_asymp.gif\" width=\"11\"
10
- height=\"9\" alt=\"≈\" border=\"0\" style=\"vertical-align:middle;\"> 0.0204081633.\r\n</p>\r\n<p>\r\nFind
11
- p(20 000, 1 000 000) and give your answer rounded to 10 decimal places in the form
12
- 0.abcdefghij\r\n</p>\r\n"
5
+ :content: "<var>k</var> defects are randomly distributed amongst <var>n</var> integrated-circuit
6
+ chips produced by a factory (any number of defects may be found on a chip and each
7
+ defect is independent of the other defects).\n\nLet p(<var>k,n</var>) represent
8
+ the probability that there is a chip with at least 3 defects. \n\rFor instance
9
+ p(3,7) ![≈](/home/will/src/euler-manager/config/../data/images/symbol_asymp.gif)
10
+ 0.0204081633.\n\nFind p(20 000, 1 000 000) and give your answer rounded to 10 decimal
11
+ places in the form 0.abcdefghij\n\n"
@@ -2,33 +2,22 @@
2
2
  :id: 308
3
3
  :name: An amazing Prime-generating Automaton
4
4
  :url: http://projecteuler.net/problem=308
5
- :content: "\r\n<p>A program written in the programming language Fractran consists
6
- of a list of fractions.</p>\r\n\r\n<p>The internal state of the Fractran Virtual
7
- Machine is a positive integer, which is initially set to a seed value. Each iteration
8
- of a Fractran program multiplies the state integer by the first fraction in the
9
- list which will leave it an integer.</p>\r\n\r\n<p>For example, one of the Fractran
10
- programs that John Horton Conway wrote for prime-generation consists of the following
11
- 14 fractions:<br></p>\n<table class=\"formula\"><tr>\n<td><table class=\"frac\">\n<tr><td>17</td></tr>\n<tr><td
12
- class=\"overline\">91</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>78</td></tr>\n<tr><td
13
- class=\"overline\">85</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>19</td></tr>\n<tr><td
14
- class=\"overline\">51</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>23</td></tr>\n<tr><td
15
- class=\"overline\">38</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>29</td></tr>\n<tr><td
16
- class=\"overline\">33</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>77</td></tr>\n<tr><td
17
- class=\"overline\">29</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>95</td></tr>\n<tr><td
18
- class=\"overline\">23</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>77</td></tr>\n<tr><td
19
- class=\"overline\">19</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>1</td></tr>\n<tr><td
20
- class=\"overline\">17</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>11</td></tr>\n<tr><td
21
- class=\"overline\">13</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>13</td></tr>\n<tr><td
22
- class=\"overline\">11</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>15</td></tr>\n<tr><td
23
- class=\"overline\">2</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>1</td></tr>\n<tr><td
24
- class=\"overline\">7</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>55</td></tr>\n<tr><td
25
- class=\"overline\">1</td></tr>\n</table></td>\r\n<td>.</td>\r\n</tr></table>\n<p>Starting
26
- with the seed integer 2, successive iterations of the program produce the sequence:<br>\r\n15,
27
- 825, 725, 1925, 2275, 425, ..., 68, <b>4</b>, 30, ..., 136, <b>8</b>, 60, ..., 544,
28
- <b>32</b>, 240, ...</p>\r\n\r\n<p>The powers of 2 that appear in this sequence are
29
- 2<sup>2</sup>, 2<sup>3</sup>, 2<sup>5</sup>, ...<br>\r\nIt can be shown that <i>all</i>
30
- the powers of 2 in this sequence have prime exponents and that <i>all</i> the primes
31
- appear as exponents of powers of 2, in proper order!</p>\r\n\r\n<p>If someone uses
32
- the above Fractran program to solve Project Euler Problem 7 (find the 10001<sup>st</sup>
33
- prime), how many iterations would be needed until the program produces 2<sup>10001st
34
- prime</sup> ?\r\n</p>"
5
+ :content: "A program written in the programming language Fractran consists of a list
6
+ of fractions.\n\nThe internal state of the Fractran Virtual Machine is a positive
7
+ integer, which is initially set to a seed value. Each iteration of a Fractran program
8
+ multiplies the state integer by the first fraction in the list which will leave
9
+ it an integer.\n\nFor example, one of the Fractran programs that John Horton Conway
10
+ wrote for prime-generation consists of the following 14 fractions:\n\n| \n\n| 17
11
+ |\n| 91 |\n\n | , | \n\n| 78 |\n| 85 |\n\n | , | \n\n| 19 |\n| 51 |\n\n | , | \n\n|
12
+ 23 |\n| 38 |\n\n | , | \n\n| 29 |\n| 33 |\n\n | , | \n\n| 77 |\n| 29 |\n\n | , |
13
+ \n\n| 95 |\n| 23 |\n\n | , | \n\n| 77 |\n| 19 |\n\n | , | \n\n| 1 |\n| 17 |\n\n
14
+ | , | \n\n| 11 |\n| 13 |\n\n | , | \n\n| 13 |\n| 11 |\n\n | , | \n\n| 15 |\n| 2
15
+ |\n\n | , | \n\n| 1 |\n| 7 |\n\n | , | \n\n| 55 |\n| 1 |\n\n | . |\n\nStarting with
16
+ the seed integer 2, successive iterations of the program produce the sequence: \n\r15,
17
+ 825, 725, 1925, 2275, 425, ..., 68, **4** , 30, ..., 136, **8** , 60, ..., 544,
18
+ **32** , 240, ...\n\nThe powers of 2 that appear in this sequence are 2<sup>2</sup>,
19
+ 2<sup>3</sup>, 2<sup>5</sup>, ... \n\rIt can be shown that _all_ the powers of
20
+ 2 in this sequence have prime exponents and that _all_ the primes appear as exponents
21
+ of powers of 2, in proper order!\n\nIf someone uses the above Fractran program to
22
+ solve Project Euler Problem 7 (find the 10001<sup>st</sup> prime), how many iterations
23
+ would be needed until the program produces 2<sup>10001st prime</sup> ?\n\n"
@@ -2,16 +2,15 @@
2
2
  :id: 309
3
3
  :name: Integer Ladders
4
4
  :url: http://projecteuler.net/problem=309
5
- :content: "\r\n<p>In the classic \"Crossing Ladders\" problem, we are given the lengths
6
- <var>x</var> and <var>y</var> of two ladders resting on the opposite walls of a
7
- narrow, level street. We are also given the height <var>h</var> above the street
8
- where the two ladders cross and we are asked to find the width of the street (<var>w</var>).</p>\r\n\r\n<div
9
- align=\"center\"><img src=\"project/images/p_309_ladders.gif\"></div>\r\n\r\n<p>Here,
10
- we are only concerned with instances where all four variables are positive integers.<br>\r\nFor
11
- example, if <var>x</var> = 70, <var>y</var> = 119 and <var>h</var> = 30, we can
12
- calculate that <var>w</var> = 56.</p>\r\n\r\n<p>In fact, for integer values <var>x</var>,
5
+ :content: "In the classic \"Crossing Ladders\" problem, we are given the lengths <var>x</var>
6
+ and <var>y</var> of two ladders resting on the opposite walls of a narrow, level
7
+ street. We are also given the height <var>h</var> above the street where the two
8
+ ladders cross and we are asked to find the width of the street (<var>w</var>).\n\n
9
+ ![](/home/will/src/euler-manager/config/../data/images/p_309_ladders.gif)\n\nHere,
10
+ we are only concerned with instances where all four variables are positive integers.
11
+ \ \n\rFor example, if <var>x</var> = 70, <var>y</var> = 119 and <var>h</var> = 30,
12
+ we can calculate that <var>w</var> = 56.\n\nIn fact, for integer values <var>x</var>,
13
13
  <var>y</var>, <var>h</var> and 0 x y x,<var>y</var>,<var>h</var>) producing integer
14
- solutions for <var>w</var>:<br>\r\n(70, 119, 30), (74, 182, 21), (87, 105, 35),
15
- (100, 116, 35) and (119, 175, 40).</p>\r\n\r\n<p>For integer values <var>x</var>,
16
- <var>y</var>, <var>h</var> and 0 x y x,<var>y</var>,<var>h</var>) produce integer
17
- solutions for <var>w</var>?</p>\r\n\r\n"
14
+ solutions for <var>w</var>: \n\r(70, 119, 30), (74, 182, 21), (87, 105, 35), (100,
15
+ 116, 35) and (119, 175, 40).\n\nFor integer values <var>x</var>, <var>y</var>, <var>h</var>
16
+ and 0 x y x,<var>y</var>,<var>h</var>) produce integer solutions for <var>w</var>?\n\n"
data/data/problems/31.yml CHANGED
@@ -2,17 +2,14 @@
2
2
  :id: 31
3
3
  :name: Coin sums
4
4
  :url: http://projecteuler.net/problem=31
5
- :content: "\r\n\n<p>In England the currency is made up of pound, £, and pence, p,
6
- and there are eight coins in general circulation:</p>\n<blockquote>1p, 2p, 5p, 10p,
7
- 20p, 50p, £1 (100p) and £2 (200p).</blockquote>\n<p>It is possible to make £2 in
8
- the following way:</p>\n<blockquote>1<img src=\"images/symbol_times.gif\" width=\"9\"
9
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">£1 + 1<img
10
- src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
11
- style=\"vertical-align:middle;\">50p + 2<img src=\"images/symbol_times.gif\" width=\"9\"
12
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">20p + 1<img
13
- src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
14
- style=\"vertical-align:middle;\">5p + 1<img src=\"images/symbol_times.gif\" width=\"9\"
15
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">2p + 3<img
16
- src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
17
- style=\"vertical-align:middle;\">1p</blockquote>\n<p>How many different ways can
18
- £2 be made using any number of coins?</p>\n\r\n"
5
+ :content: |+
6
+ In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation:
7
+
8
+ > 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p).
9
+
10
+ It is possible to make £2 in the following way:
11
+
12
+ > 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)£1 + 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)50p + 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)20p + 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)5p + 1 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)2p + 3 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)1p
13
+
14
+ How many different ways can £2 be made using any number of coins?
15
+
@@ -2,18 +2,13 @@
2
2
  :id: 310
3
3
  :name: Nim Square
4
4
  :url: http://projecteuler.net/problem=310
5
- :content: "\r\n<p>\r\nAlice and Bob play the game Nim Square.<br>\r\nNim Square is
6
- just like ordinary three-heap normal play Nim, but the players may only remove a
7
- square number of stones from a heap.<br>\r\nThe number of stones in the three heaps
8
- is represented by the ordered triple (a,b,c).<br>\r\nIf 0<img src=\"images/symbol_le.gif\"
9
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">a<img
10
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">b<img
11
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">c<img
12
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">29
13
- then the number of losing positions for the next player is 1160.\r\n</p>\r\n<p>\r\nFind
14
- the number of losing positions for the next player if 0<img src=\"images/symbol_le.gif\"
15
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">a<img
16
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">b<img
17
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">c<img
18
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">100
19
- 000.\r\n</p>\r\n\r\n\r\n"
5
+ :content: "Alice and Bob play the game Nim Square. \n\rNim Square is just like ordinary
6
+ three-heap normal play Nim, but the players may only remove a square number of stones
7
+ from a heap. \n\rThe number of stones in the three heaps is represented by the
8
+ ordered triple (a,b,c). \n\rIf 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)a
9
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)b ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)c
10
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)29 then the
11
+ number of losing positions for the next player is 1160.\n\nFind the number of losing
12
+ positions for the next player if 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)a
13
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)b ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)c
14
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)100 000.\n\n"
@@ -2,20 +2,14 @@
2
2
  :id: 311
3
3
  :name: Biclinic Integral Quadrilaterals
4
4
  :url: http://projecteuler.net/problem=311
5
- :content: "\r\n<p>ABCD is a convex, integer sided quadrilateral with 1 <img src=\"images/symbol_le.gif\"
6
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
7
- AB <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
8
- style=\"vertical-align:middle;\"> BC <img src=\"images/symbol_lt.gif\" width=\"10\"
9
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> CD <img
10
- src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
11
- style=\"vertical-align:middle;\"> AD.<br>\r\nBD has integer length. O is the midpoint
12
- of BD. AO has integer length.<br>\r\nWe'll call ABCD a <i>biclinic integral quadrilateral</i>
13
- if AO = CO <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
14
- border=\"0\" style=\"vertical-align:middle;\"> BO = DO.<br></p>\r\n\r\n<p>For example,
15
- the following quadrilateral is a biclinic integral quadrilateral:<br>\r\nAB = 19,
16
- BC = 29, CD = 37, AD = 43, BD = 48 and AO = CO = 23.\r\n</p>\r\n\r\n<div align=\"center\"><img
17
- src=\"project/images/p_311_biclinic.gif\"></div>\r\n\r\n<p>Let B(<var>N</var>) be
18
- the number of distinct biclinic integral quadrilaterals ABCD that satisfy AB<sup>2</sup>+BC<sup>2</sup>+CD<sup>2</sup>+AD<sup>2</sup><img
19
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>N</var>.<br>\r\nWe
20
- can verify that B(10 000) = 49 and B(1 000 000) = 38239.\r\n</p>\r\n\r\n<p>Find
21
- B(10 000 000 000).\r\n</p>\r\n\r\n"
5
+ :content: "ABCD is a convex, integer sided quadrilateral with 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
6
+ AB ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) BC ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
7
+ CD ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) AD. \n\rBD
8
+ has integer length. O is the midpoint of BD. AO has integer length. \n\rWe'll call
9
+ ABCD a _biclinic integral quadrilateral_ if AO = CO ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
10
+ BO = DO.\n\nFor example, the following quadrilateral is a biclinic integral quadrilateral:
11
+ \ \n\rAB = 19, BC = 29, CD = 37, AD = 43, BD = 48 and AO = CO = 23.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_311_biclinic.gif)\n\nLet
12
+ B(<var>N</var>) be the number of distinct biclinic integral quadrilaterals ABCD
13
+ that satisfy AB<sup>2</sup>+BC<sup>2</sup>+CD<sup>2</sup>+AD<sup>2</sup> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
14
+ <var>N</var>. \n\rWe can verify that B(10 000) = 49 and B(1 000 000) = 38239.\n\nFind
15
+ B(10 000 000 000).\n\n"
@@ -2,14 +2,13 @@
2
2
  :id: 312
3
3
  :name: Cyclic paths on Sierpiński graphs
4
4
  :url: http://projecteuler.net/problem=312
5
- :content: "\r\n<p>- A <b>Sierpiński graph</b> of order-1 (<var>S</var><sub>1</sub>)
6
- is an equilateral triangle.<br>\r\n- <var>S</var><sub><var>n</var>+1</sub> is obtained
7
- from <var>S</var><sub><var>n</var></sub> by positioning three copies of <var>S</var><sub><var>n</var></sub>
8
- so that every pair of copies has one common corner.\r\n</p>\r\n\r\n<div align=\"center\"><img
9
- src=\"project/images/p_312_sierpinskyAt.gif\"></div>\r\n\r\n<p>Let C(<var>n</var>)
10
- be the number of cycles that pass exactly once through all the vertices of <var>S</var><sub><var>n</var></sub>.<br>\r\nFor
11
- example, C(3) = 8 because eight such cycles can be drawn on <var>S</var><sub>3</sub>,
12
- as shown below:\r\n</p>\r\n\r\n<div align=\"center\"><img src=\"project/images/p_312_sierpinsky8t.gif\"></div>\r\n\r\n<p>It
13
- can also be verified that :<br>\r\nC(1) = C(2) = 1<br>\r\nC(5) = 71328803586048<br>\r\nC(10
14
- 000) mod 10<sup>8</sup> = 37652224<br>\r\nC(10 000) mod 13<sup>8</sup> = 617720485<br></p>\r\n\r\n<p>Find
15
- C(C(C(10 000))) mod 13<sup>8</sup>.\r\n</p>\r\n\r\n\r\n"
5
+ :content: "- A **Sierpiński graph** of order-1 (<var>S</var><sub>1</sub>) is an equilateral
6
+ triangle. \n\r- <var>S</var><sub><var>n</var>+1</sub> is obtained from <var>S</var><sub><var>n</var></sub>
7
+ by positioning three copies of <var>S</var><sub><var>n</var></sub> so that every
8
+ pair of copies has one common corner.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_312_sierpinskyAt.gif)\n\nLet
9
+ C(<var>n</var>) be the number of cycles that pass exactly once through all the vertices
10
+ of <var>S</var><sub><var>n</var></sub>. \n\rFor example, C(3) = 8 because eight
11
+ such cycles can be drawn on <var>S</var><sub>3</sub>, as shown below:\n\n ![](/home/will/src/euler-manager/config/../data/images/p_312_sierpinsky8t.gif)\n\nIt
12
+ can also be verified that : \n\rC(1) = C(2) = 1 \n\rC(5) = 71328803586048 \n\rC(10
13
+ 000) mod 10<sup>8</sup> = 37652224 \n\rC(10 000) mod 13<sup>8</sup> = 617720485\n\nFind
14
+ C(C(C(10 000))) mod 13<sup>8</sup>.\n\n"
@@ -2,16 +2,16 @@
2
2
  :id: 313
3
3
  :name: Sliding game
4
4
  :url: http://projecteuler.net/problem=313
5
- :content: "\r\n<p>In a sliding game a counter may slide horizontally or vertically
6
- into an empty space. The objective of the game is to move the red counter from the
7
- top left corner of a grid to the bottom right corner; the space always starts in
8
- the bottom right corner. For example, the following sequence of pictures show how
9
- the game can be completed in five moves on a 2 by 2 grid.</p>\r\n\r\n<div align=\"center\"><img
10
- src=\"project/images/p_313_sliding_game_1.gif\"></div>\r\n\r\n<p>Let S(m,n) represent
11
- the minimum number of moves to complete the game on an m by n grid. For example,
12
- it can be verified that S(5,4) = 25.</p>\r\n\r\n<div align=\"center\"><img src=\"project/images/p_313_sliding_game_2.gif\"></div>\r\n\r\n<p>There
13
- are exactly 5482 grids for which S(m,n) = p<sup>2</sup>, where p <img src=\"images/symbol_lt.gif\"
14
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">
15
- 100 is prime.</p>\r\n\r\n<p>How many grids does S(m,n) = p<sup>2</sup>, where p
16
- <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
17
- style=\"vertical-align:middle;\"> 10<sup>6</sup> is prime?</p>\r\n"
5
+ :content: |+
6
+ In a sliding game a counter may slide horizontally or vertically into an empty space. The objective of the game is to move the red counter from the top left corner of a grid to the bottom right corner; the space always starts in the bottom right corner. For example, the following sequence of pictures show how the game can be completed in five moves on a 2 by 2 grid.
7
+
8
+ ![](/home/will/src/euler-manager/config/../data/images/p_313_sliding_game_1.gif)
9
+
10
+ Let S(m,n) represent the minimum number of moves to complete the game on an m by n grid. For example, it can be verified that S(5,4) = 25.
11
+
12
+ ![](/home/will/src/euler-manager/config/../data/images/p_313_sliding_game_2.gif)
13
+
14
+ There are exactly 5482 grids for which S(m,n) = p<sup>2</sup>, where p ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 100 is prime.
15
+
16
+ How many grids does S(m,n) = p<sup>2</sup>, where p ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) 10<sup>6</sup> is prime?
17
+
@@ -2,28 +2,26 @@
2
2
  :id: 314
3
3
  :name: The Mouse on the Moon
4
4
  :url: http://projecteuler.net/problem=314
5
- :content: "\r\n<p>\r\nThe moon has been opened up, and land can be obtained for free,
6
- but there is a catch. You have to build a wall around the land that you stake out,
7
- and building a wall on the moon is expensive. Every country has been allotted a
8
- 500 m by 500 m square area, but they will possess only that area which they wall
9
- in. 251001 posts have been placed in a rectangular grid with 1 meter spacing. The
10
- wall must be a closed series of straight lines, each line running from post to post.\r\n</p>\r\n<p>\r\nThe
11
- bigger countries of course have built a 2000 m wall enclosing the entire 250 000
12
- m<sup>2</sup> area. The <a href=\"http://en.wikipedia.org/wiki/Grand_Fenwick\">Duchy
13
- of Grand Fenwick</a>, has a tighter budget, and has asked you (their Royal Programmer)
14
- to compute what shape would get best maximum enclosed-area/wall-length ratio.\r\n</p>\r\n<p>\r\nYou
15
- have done some preliminary calculations on a sheet of paper.\r\nFor a 2000 meter
16
- wall enclosing the 250 000 m<sup>2</sup> area the\r\nenclosed-area/wall-length ratio
17
- is 125.<br>\r\nAlthough not allowed , but to get an idea if this is anything better:
18
- \ if you place a circle inside the square area touching the four sides the area
19
- will be equal to π*250<sup>2</sup> m<sup>2</sup> and the perimeter will be π*500
20
- m, so the enclosed-area/wall-length ratio will also be 125.\r\n</p>\r\n<p>\r\nHowever,
21
- if you cut off from the square four triangles with sides 75 m, 75 m and 75<img src=\"images/symbol_radic.gif\"
22
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2
23
- m the total area becomes 238750 m<sup>2</sup> and the perimeter becomes 1400+300<img
24
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
25
- style=\"vertical-align:middle;\">2 m. So this gives an enclosed-area/wall-length
26
- ratio of 130.87, which is significantly better.\r\n</p>\r\n<div align=\"center\"><img
27
- src=\"project/images/p_314_landgrab.gif\"></div>\r\n<p>\r\nFind the maximum enclosed-area/wall-length
28
- ratio.<br>\r\nGive your answer rounded to 8 places behind the decimal point in the
29
- form abc.defghijk.\r\n</p>\r\n\r\n\r\n\r\n"
5
+ :content: "The moon has been opened up, and land can be obtained for free, but there
6
+ is a catch. You have to build a wall around the land that you stake out, and building
7
+ a wall on the moon is expensive. Every country has been allotted a 500 m by 500
8
+ m square area, but they will possess only that area which they wall in. 251001 posts
9
+ have been placed in a rectangular grid with 1 meter spacing. The wall must be a
10
+ closed series of straight lines, each line running from post to post.\n\nThe bigger
11
+ countries of course have built a 2000 m wall enclosing the entire 250 000 m<sup>2</sup>
12
+ area. The [Duchy of Grand Fenwick](http://en.wikipedia.org/wiki/Grand_Fenwick),
13
+ has a tighter budget, and has asked you (their Royal Programmer) to compute what
14
+ shape would get best maximum enclosed-area/wall-length ratio.\n\nYou have done some
15
+ preliminary calculations on a sheet of paper.\rFor a 2000 meter wall enclosing the
16
+ 250 000 m<sup>2</sup> area the\renclosed-area/wall-length ratio is 125. \n\rAlthough
17
+ not allowed , but to get an idea if this is anything better: if you place a circle
18
+ inside the square area touching the four sides the area will be equal to π\\*250<sup>2</sup>
19
+ m<sup>2</sup> and the perimeter will be π\\*500 m, so the enclosed-area/wall-length
20
+ ratio will also be 125.\n\nHowever, if you cut off from the square four triangles
21
+ with sides 75 m, 75 m and 75 ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2
22
+ m the total area becomes 238750 m<sup>2</sup> and the perimeter becomes 1400+300
23
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2 m. So
24
+ this gives an enclosed-area/wall-length ratio of 130.87, which is significantly
25
+ better.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_314_landgrab.gif)\n\nFind
26
+ the maximum enclosed-area/wall-length ratio. \n\rGive your answer rounded to 8
27
+ places behind the decimal point in the form abc.defghijk.\n\n"
@@ -2,48 +2,42 @@
2
2
  :id: 315
3
3
  :name: Digital root clocks
4
4
  :url: http://projecteuler.net/problem=315
5
- :content: "\r\n<p></p>\n<div align=\"center\"><img src=\"project/images/p_315_clocks.gif\"></div>\r\n\r\n<p>Sam
6
- and Max are asked to transform two digital clocks into two \"digital root\" clocks.<br>\r\nA
7
- digital root clock is a digital clock that calculates digital roots step by step.</p>\r\n\r\n<p>When
8
- a clock is fed a number, it will show it and then it will start the calculation,
9
- showing all the intermediate values until it gets to the result.<br>\r\nFor example,
10
- if the clock is fed the number 137, it will show: \"<b>137</b>\" <img src=\"images/symbol_maps.gif\"
11
- width=\"15\" height=\"7\" alt=\"→\" border=\"0\" style=\"vertical-align:middle;\">
12
- \"<b>11</b>\" <img src=\"images/symbol_maps.gif\" width=\"15\" height=\"7\" alt=\"→\"
13
- border=\"0\" style=\"vertical-align:middle;\"> \"<b>2</b>\" and then it will go
14
- black, waiting for the next number.</p>\r\n\r\n<p>Every digital number consists
15
- of some light segments: three horizontal (top, middle, bottom) and four vertical
16
- (top-left, top-right, bottom-left, bottom-right).<br>\r\nNumber \"<b>1</b>\" is
17
- made of vertical top-right and bottom-right, number \"<b>4</b>\" is made by middle
18
- horizontal and vertical top-left, top-right and bottom-right. Number \"<b>8</b>\"
19
- lights them all.</p>\r\n\r\n<p>The clocks consume energy only when segments are
20
- turned on/off.<br>\r\nTo turn on a \"<b>2</b>\" will cost 5 transitions, while a
21
- \"<b>7</b>\" will cost only 4 transitions.</p>\r\n\r\n<p>Sam and Max built two different
22
- clocks.</p>\r\n\r\n<p>Sam's clock is fed e.g. number 137: the clock shows \"<b>137</b>\",
23
- then the panel is turned off, then the next number (\"<b>11</b>\") is turned on,
24
- then the panel is turned off again and finally the last number (\"<b>2</b>\") is
25
- turned on and, after some time, off.<br>\r\nFor the example, with number 137, Sam's
26
- clock requires:<br></p>\n<table>\n<tr>\n<td>\"<b>137</b>\"</td>\r\n<td>:</td>\r\n<td>(2
27
- + 5 + 4) <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\"
28
- border=\"0\" style=\"vertical-align:middle;\"> 2 = 22 transitions (\"<b>137</b>\"
29
- on/off).</td>\r\n</tr>\n<tr>\n<td>\"<b>11</b>\"</td>\r\n<td>:</td>\r\n<td>(2 + 2)
30
- <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
31
- style=\"vertical-align:middle;\"> 2 = 8 transitions (\"<b>11</b>\" on/off).</td>\r\n</tr>\n<tr>\n<td>\"<b>2</b>\"</td>\r\n<td>:</td>\r\n<td>(5)
32
- <img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
33
- style=\"vertical-align:middle;\"> 2 = 10 transitions (\"<b>2</b>\" on/off).</td>\r\n</tr>\n</table>\r\nFor
34
- a grand total of 40 transitions.\r\n\r\n<p>Max's clock works differently. Instead
35
- of turning off the whole panel, it is smart enough to turn off only those segments
36
- that won't be needed for the next number.<br>\r\nFor number 137, Max's clock requires:<br></p>\n<table>\n<tr>\n<td>\"<b>137</b>\"<br><br>\n</td>\r\n<td>:<br><br>\n</td>\r\n<td>2
37
- + 5 + 4 = 11 transitions (\"<b>137</b>\" on)<br>\r\n7 transitions (to turn off the
38
- segments that are not needed for number \"<b>11</b>\").</td>\r\n</tr>\n<tr>\n<td>\"<b>11</b>\"<br><br><br>\n</td>\r\n<td>:<br><br><br>\n</td>\r\n<td>0
39
- transitions (number \"<b>11</b>\" is already turned on correctly)<br>\r\n3 transitions
40
- (to turn off the first \"<b>1</b>\" and the bottom part of the second \"<b>1</b>\";
41
- <br>\r\nthe top part is common with number \"<b>2</b>\").</td>\r\n</tr>\n<tr>\n<td>\"<b>2</b>\"<br><br>\n</td>\r\n<td>:<br><br>\n</td>\r\n<td>4
42
- tansitions (to turn on the remaining segments in order to get a \"<b>2</b>\")<br>\r\n5
43
- transitions (to turn off number \"<b>2</b>\").</td>\r\n</tr>\n</table>\r\nFor a
44
- grand total of 30 transitions.\r\n\r\n<p>Of course, Max's clock consumes less power
45
- than Sam's one.<br>\r\nThe two clocks are fed all the prime numbers between A =
46
- 10<sup>7</sup> and B = 2<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\"
47
- alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">10<sup>7</sup>. <br>\r\nFind
48
- the difference between the total number of transitions needed by Sam's clock and
49
- that needed by Max's one.</p>\r\n\r\n"
5
+ :content: " ![](/home/will/src/euler-manager/config/../data/images/p_315_clocks.gif)\n\nSam
6
+ and Max are asked to transform two digital clocks into two \"digital root\" clocks.
7
+ \ \n\rA digital root clock is a digital clock that calculates digital roots step
8
+ by step.\n\nWhen a clock is fed a number, it will show it and then it will start
9
+ the calculation, showing all the intermediate values until it gets to the result.
10
+ \ \n\rFor example, if the clock is fed the number 137, it will show: \" **137**
11
+ \" ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) \" **11**
12
+ \" ![→](/home/will/src/euler-manager/config/../data/images/symbol_maps.gif) \" **2**
13
+ \" and then it will go black, waiting for the next number.\n\nEvery digital number
14
+ consists of some light segments: three horizontal (top, middle, bottom) and four
15
+ vertical (top-left, top-right, bottom-left, bottom-right). \n\rNumber \" **1**
16
+ \" is made of vertical top-right and bottom-right, number \" **4** \" is made by
17
+ middle horizontal and vertical top-left, top-right and bottom-right. Number \" **8**
18
+ \" lights them all.\n\nThe clocks consume energy only when segments are turned on/off.
19
+ \ \n\rTo turn on a \" **2** \" will cost 5 transitions, while a \" **7** \" will
20
+ cost only 4 transitions.\n\nSam and Max built two different clocks.\n\nSam's clock
21
+ is fed e.g. number 137: the clock shows \" **137** \", then the panel is turned
22
+ off, then the next number (\" **11** \") is turned on, then the panel is turned
23
+ off again and finally the last number (\" **2** \") is turned on and, after some
24
+ time, off. \n\rFor the example, with number 137, Sam's clock requires:\n\n| \"
25
+ **137** \" | : | (2 + 5 + 4) ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
26
+ 2 = 22 transitions (\" **137** \" on/off). |\n| \" **11** \" | : | (2 + 2) ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
27
+ 2 = 8 transitions (\" **11** \" on/off). |\n| \" **2** \" | : | (5) ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)
28
+ 2 = 10 transitions (\" **2** \" on/off). |\n\n\rFor a grand total of 40 transitions.\r\r\n\nMax's
29
+ clock works differently. Instead of turning off the whole panel, it is smart enough
30
+ to turn off only those segments that won't be needed for the next number. \n\rFor
31
+ number 137, Max's clock requires:\n\n| \" **137** \" \n \n \n | : \n \n \n
32
+ | 2 + 5 + 4 = 11 transitions (\" **137** \" on) \n\r7 transitions (to turn off
33
+ the segments that are not needed for number \" **11** \"). |\n| \" **11** \" \n
34
+ \ \n \n \n \n | : \n \n \n \n \n | 0 transitions (number \" **11** \" is
35
+ already turned on correctly) \n\r3 transitions (to turn off the first \" **1**
36
+ \" and the bottom part of the second \" **1** \"; \n\rthe top part is common with
37
+ number \" **2** \"). |\n| \" **2** \" \n \n \n | : \n \n \n | 4 tansitions
38
+ (to turn on the remaining segments in order to get a \" **2** \") \n\r5 transitions
39
+ (to turn off number \" **2** \"). |\n\n\rFor a grand total of 30 transitions.\r\r\n\nOf
40
+ course, Max's clock consumes less power than Sam's one. \n\rThe two clocks are
41
+ fed all the prime numbers between A = 10<sup>7</sup> and B = 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)10<sup>7</sup>.
42
+ \ \n\rFind the difference between the total number of transitions needed by Sam's
43
+ clock and that needed by Max's one.\n\n"