euler-manager 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (645) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -1
  3. data/Rakefile +3 -0
  4. data/bin/euler +28 -9
  5. data/config/config.rb +1 -0
  6. data/data/answers.yml +430 -456
  7. data/data/images/blackdot.gif +0 -0
  8. data/data/images/bracket_left.gif +0 -0
  9. data/data/images/bracket_right.gif +0 -0
  10. data/data/images/p295_lenticular.gif +0 -0
  11. data/data/images/p296_bisector.gif +0 -0
  12. data/data/images/p303_formula100.gif +0 -0
  13. data/data/images/p303_formula10000.gif +0 -0
  14. data/data/images/p392_gridlines.png +0 -0
  15. data/data/images/p400_winning.png +0 -0
  16. data/data/images/p411_longpath.png +0 -0
  17. data/data/images/p412_table53.png +0 -0
  18. data/data/images/p412_tablenums.png +0 -0
  19. data/data/images/p422_hyperbola.gif +0 -0
  20. data/data/images/p428_necklace.png +0 -0
  21. data/data/images/p_015.gif +0 -0
  22. data/data/images/p_068_1.gif +0 -0
  23. data/data/images/p_068_2.gif +0 -0
  24. data/data/images/p_085.gif +0 -0
  25. data/data/images/p_086.gif +0 -0
  26. data/data/images/p_090.gif +0 -0
  27. data/data/images/p_091_1.gif +0 -0
  28. data/data/images/p_091_2.gif +0 -0
  29. data/data/images/p_107_1.gif +0 -0
  30. data/data/images/p_107_2.gif +0 -0
  31. data/data/images/p_109.gif +0 -0
  32. data/data/images/p_126.gif +0 -0
  33. data/data/images/p_128.gif +0 -0
  34. data/data/images/p_138.gif +0 -0
  35. data/data/images/p_139.gif +0 -0
  36. data/data/images/p_143_torricelli.gif +0 -0
  37. data/data/images/p_144_1.gif +0 -0
  38. data/data/images/p_144_2.gif +0 -0
  39. data/data/images/p_147.gif +0 -0
  40. data/data/images/p_150.gif +0 -0
  41. data/data/images/p_151.gif +0 -0
  42. data/data/images/p_152_sum.gif +0 -0
  43. data/data/images/p_153_formule1.gif +0 -0
  44. data/data/images/p_153_formule2.gif +0 -0
  45. data/data/images/p_153_formule5.gif +0 -0
  46. data/data/images/p_153_formule6.gif +0 -0
  47. data/data/images/p_154_pyramid.gif +0 -0
  48. data/data/images/p_155_capacitors1.gif +0 -0
  49. data/data/images/p_155_capsform.gif +0 -0
  50. data/data/images/p_155_capsmu.gif +0 -0
  51. data/data/images/p_161_k9.gif +0 -0
  52. data/data/images/p_161_trio1.gif +0 -0
  53. data/data/images/p_161_trio3.gif +0 -0
  54. data/data/images/p_163.gif +0 -0
  55. data/data/images/p_173_square_laminas.gif +0 -0
  56. data/data/images/p_177_quad.gif +0 -0
  57. data/data/images/p_184.gif +0 -0
  58. data/data/images/p_189_colours.gif +0 -0
  59. data/data/images/p_189_grid.gif +0 -0
  60. data/data/images/p_194_Fig.png +0 -0
  61. data/data/images/p_194_GraphA.png +0 -0
  62. data/data/images/p_194_GraphB.png +0 -0
  63. data/data/images/p_199_circles_in_circles.gif +0 -0
  64. data/data/images/p_201_laserbeam.gif +0 -0
  65. data/data/images/p_208_robotwalk.gif +0 -0
  66. data/data/images/p_215_crackfree.gif +0 -0
  67. data/data/images/p_220.gif +0 -0
  68. data/data/images/p_226_formula.gif +0 -0
  69. data/data/images/p_226_scoop2.gif +0 -0
  70. data/data/images/p_228.png +0 -0
  71. data/data/images/p_237.gif +0 -0
  72. data/data/images/p_244_example.gif +0 -0
  73. data/data/images/p_244_start.gif +0 -0
  74. data/data/images/p_244_target.gif +0 -0
  75. data/data/images/p_246_anim.gif +0 -0
  76. data/data/images/p_246_ellipse.gif +0 -0
  77. data/data/images/p_247_hypersquares.gif +0 -0
  78. data/data/images/p_251_cardano.gif +0 -0
  79. data/data/images/p_252_convexhole.gif +0 -0
  80. data/data/images/p_255_Example.gif +0 -0
  81. data/data/images/p_255_Heron.gif +0 -0
  82. data/data/images/p_256_tatami3.gif +0 -0
  83. data/data/images/p_257_bisector.gif +0 -0
  84. data/data/images/p_262_formula1.gif +0 -0
  85. data/data/images/p_264_TriangleCentres.gif +0 -0
  86. data/data/images/p_265_BinaryCircles.gif +0 -0
  87. data/data/images/p_270_CutSquare.gif +0 -0
  88. data/data/images/p_275_sculptures2.gif +0 -0
  89. data/data/images/p_281_pizza.gif +0 -0
  90. data/data/images/p_282_formula.gif +0 -0
  91. data/data/images/p_282formula3.gif +0 -0
  92. data/data/images/p_287_quadtree.gif +0 -0
  93. data/data/images/p_289_euler.gif +0 -0
  94. data/data/images/p_291_formula.gif +0 -0
  95. data/data/images/p_299_ThreeSimTri.gif +0 -0
  96. data/data/images/p_300_protein.gif +0 -0
  97. data/data/images/p_306_pstrip.gif +0 -0
  98. data/data/images/p_309_ladders.gif +0 -0
  99. data/data/images/p_311_biclinic.gif +0 -0
  100. data/data/images/p_312_sierpinsky8t.gif +0 -0
  101. data/data/images/p_312_sierpinskyAt.gif +0 -0
  102. data/data/images/p_313_sliding_game_1.gif +0 -0
  103. data/data/images/p_313_sliding_game_2.gif +0 -0
  104. data/data/images/p_314_landgrab.gif +0 -0
  105. data/data/images/p_315_clocks.gif +0 -0
  106. data/data/images/p_316_decexp1.gif +0 -0
  107. data/data/images/p_316_decexp2.gif +0 -0
  108. data/data/images/p_316_decexp3.gif +0 -0
  109. data/data/images/p_321_swapping_counters_1.gif +0 -0
  110. data/data/images/p_321_swapping_counters_2.gif +0 -0
  111. data/data/images/p_326_formula1.gif +0 -0
  112. data/data/images/p_326_formula2.gif +0 -0
  113. data/data/images/p_327_rooms_of_doom.gif +0 -0
  114. data/data/images/p_328_sum1.gif +0 -0
  115. data/data/images/p_328_sum2.gif +0 -0
  116. data/data/images/p_330_formula.gif +0 -0
  117. data/data/images/p_331_crossflips1.gif +0 -0
  118. data/data/images/p_331_crossflips2.gif +0 -0
  119. data/data/images/p_331_crossflips3.gif +0 -0
  120. data/data/images/p_332_spherical.jpg +0 -0
  121. data/data/images/p_332_sum.gif +0 -0
  122. data/data/images/p_334_beans.gif +0 -0
  123. data/data/images/p_334_cases.gif +0 -0
  124. data/data/images/p_334_lfloor.gif +0 -0
  125. data/data/images/p_334_oplus.gif +0 -0
  126. data/data/images/p_334_rfloor.gif +0 -0
  127. data/data/images/p_335_mancala.gif +0 -0
  128. data/data/images/p_335_sum.gif +0 -0
  129. data/data/images/p_336_maximix.gif +0 -0
  130. data/data/images/p_338_gridpaper.gif +0 -0
  131. data/data/images/p_340_formula.gif +0 -0
  132. data/data/images/p_344_silverdollar.gif +0 -0
  133. data/data/images/p_351_hexorchard.png +0 -0
  134. data/data/images/p_354_bee_honeycomb.png +0 -0
  135. data/data/images/p_356_cubicpoly1.gif +0 -0
  136. data/data/images/p_356_cubicpoly2.gif +0 -0
  137. data/data/images/p_361_Thue-Morse1.gif +0 -0
  138. data/data/images/p_364_comf_dist.gif +0 -0
  139. data/data/images/p_372_pencilray1.jpg +0 -0
  140. data/data/images/p_372_pencilray2.gif +0 -0
  141. data/data/images/p_380_mazes.gif +0 -0
  142. data/data/images/p_384_formula.gif +0 -0
  143. data/data/images/p_385_ellipsetriangle.png +0 -0
  144. data/data/images/p_394_eatpie.gif +0 -0
  145. data/data/images/p_395_pythagorean.gif +0 -0
  146. data/data/images/p_404_c_ellipse.gif +0 -0
  147. data/data/images/p_405_tile1.png +0 -0
  148. data/data/images/p_405_tile2.gif +0 -0
  149. data/data/images/p_420_matrix.gif +0 -0
  150. data/data/images/p_424_kakuro1.gif +0 -0
  151. data/data/images/p_426_baxball1.gif +0 -0
  152. data/data/images/p_426_baxball2.gif +0 -0
  153. data/data/images/p_430_flips.gif +0 -0
  154. data/data/images/sod_13.gif +115 -0
  155. data/data/images/spacer.gif +0 -0
  156. data/data/images/symbol_asymp.gif +0 -0
  157. data/data/images/symbol_cong.gif +0 -0
  158. data/data/images/symbol_ge.gif +0 -0
  159. data/data/images/symbol_gt.gif +0 -0
  160. data/data/images/symbol_implies.gif +0 -0
  161. data/data/images/symbol_lceil.gif +0 -0
  162. data/data/images/symbol_le.gif +0 -0
  163. data/data/images/symbol_lfloor.gif +0 -0
  164. data/data/images/symbol_lt.gif +0 -0
  165. data/data/images/symbol_maps.gif +0 -0
  166. data/data/images/symbol_minus.gif +0 -0
  167. data/data/images/symbol_ne.gif +0 -0
  168. data/data/images/symbol_plusmn.gif +0 -0
  169. data/data/images/symbol_radic.gif +0 -0
  170. data/data/images/symbol_rceil.gif +0 -0
  171. data/data/images/symbol_rfloor.gif +0 -0
  172. data/data/images/symbol_sum.gif +0 -0
  173. data/data/images/symbol_times.gif +0 -0
  174. data/data/problems/1.yml +5 -3
  175. data/data/problems/10.yml +3 -4
  176. data/data/problems/100.yml +7 -9
  177. data/data/problems/101.yml +32 -45
  178. data/data/problems/102.yml +11 -12
  179. data/data/problems/103.yml +18 -22
  180. data/data/problems/104.yml +9 -11
  181. data/data/problems/105.yml +12 -17
  182. data/data/problems/106.yml +14 -15
  183. data/data/problems/107.yml +16 -16
  184. data/data/problems/108.yml +17 -28
  185. data/data/problems/109.yml +27 -29
  186. data/data/problems/11.yml +24 -29
  187. data/data/problems/110.yml +11 -15
  188. data/data/problems/111.yml +27 -17
  189. data/data/problems/112.yml +13 -11
  190. data/data/problems/113.yml +11 -9
  191. data/data/problems/114.yml +46 -100
  192. data/data/problems/115.yml +15 -12
  193. data/data/problems/116.yml +33 -72
  194. data/data/problems/117.yml +36 -78
  195. data/data/problems/118.yml +5 -5
  196. data/data/problems/119.yml +9 -7
  197. data/data/problems/12.yml +8 -9
  198. data/data/problems/120.yml +7 -13
  199. data/data/problems/121.yml +9 -11
  200. data/data/problems/122.yml +21 -38
  201. data/data/problems/123.yml +9 -9
  202. data/data/problems/124.yml +24 -54
  203. data/data/problems/125.yml +7 -8
  204. data/data/problems/126.yml +12 -13
  205. data/data/problems/127.yml +21 -27
  206. data/data/problems/128.yml +19 -14
  207. data/data/problems/129.yml +9 -8
  208. data/data/problems/13.yml +52 -2
  209. data/data/problems/130.yml +12 -15
  210. data/data/problems/131.yml +9 -8
  211. data/data/problems/132.yml +7 -8
  212. data/data/problems/133.yml +9 -9
  213. data/data/problems/134.yml +7 -15
  214. data/data/problems/135.yml +9 -16
  215. data/data/problems/136.yml +9 -13
  216. data/data/problems/137.yml +22 -32
  217. data/data/problems/138.yml +11 -16
  218. data/data/problems/139.yml +11 -11
  219. data/data/problems/14.yml +14 -24
  220. data/data/problems/140.yml +18 -25
  221. data/data/problems/141.yml +10 -11
  222. data/data/problems/142.yml +3 -10
  223. data/data/problems/143.yml +13 -16
  224. data/data/problems/144.yml +23 -26
  225. data/data/problems/145.yml +7 -7
  226. data/data/problems/146.yml +6 -6
  227. data/data/problems/147.yml +7 -8
  228. data/data/problems/148.yml +15 -7
  229. data/data/problems/149.yml +26 -35
  230. data/data/problems/15.yml +7 -7
  231. data/data/problems/150.yml +18 -29
  232. data/data/problems/151.yml +17 -15
  233. data/data/problems/152.yml +11 -8
  234. data/data/problems/153.yml +38 -53
  235. data/data/problems/154.yml +10 -12
  236. data/data/problems/155.yml +12 -15
  237. data/data/problems/156.yml +20 -22
  238. data/data/problems/157.yml +26 -28
  239. data/data/problems/158.yml +13 -14
  240. data/data/problems/159.yml +15 -25
  241. data/data/problems/16.yml +5 -2
  242. data/data/problems/160.yml +3 -4
  243. data/data/problems/161.yml +6 -10
  244. data/data/problems/162.yml +10 -11
  245. data/data/problems/163.yml +13 -15
  246. data/data/problems/164.yml +3 -3
  247. data/data/problems/165.yml +25 -28
  248. data/data/problems/166.yml +7 -11
  249. data/data/problems/167.yml +10 -12
  250. data/data/problems/168.yml +7 -9
  251. data/data/problems/169.yml +4 -5
  252. data/data/problems/17.yml +7 -7
  253. data/data/problems/170.yml +7 -10
  254. data/data/problems/171.yml +7 -9
  255. data/data/problems/172.yml +3 -2
  256. data/data/problems/173.yml +9 -7
  257. data/data/problems/174.yml +13 -15
  258. data/data/problems/175.yml +13 -15
  259. data/data/problems/176.yml +5 -5
  260. data/data/problems/177.yml +13 -12
  261. data/data/problems/178.yml +5 -5
  262. data/data/problems/179.yml +3 -6
  263. data/data/problems/18.yml +13 -17
  264. data/data/problems/180.yml +20 -25
  265. data/data/problems/181.yml +7 -3
  266. data/data/problems/182.yml +22 -27
  267. data/data/problems/183.yml +17 -23
  268. data/data/problems/184.yml +11 -14
  269. data/data/problems/185.yml +17 -18
  270. data/data/problems/186.yml +16 -24
  271. data/data/problems/187.yml +9 -12
  272. data/data/problems/188.yml +5 -6
  273. data/data/problems/189.yml +5 -7
  274. data/data/problems/19.yml +7 -8
  275. data/data/problems/190.yml +7 -9
  276. data/data/problems/191.yml +9 -10
  277. data/data/problems/192.yml +14 -22
  278. data/data/problems/193.yml +5 -3
  279. data/data/problems/194.yml +11 -14
  280. data/data/problems/195.yml +7 -9
  281. data/data/problems/196.yml +13 -21
  282. data/data/problems/197.yml +7 -11
  283. data/data/problems/198.yml +13 -16
  284. data/data/problems/199.yml +10 -10
  285. data/data/problems/2.yml +6 -6
  286. data/data/problems/20.yml +10 -18
  287. data/data/problems/200.yml +8 -8
  288. data/data/problems/201.yml +14 -16
  289. data/data/problems/202.yml +11 -10
  290. data/data/problems/203.yml +11 -16
  291. data/data/problems/204.yml +7 -7
  292. data/data/problems/205.yml +6 -6
  293. data/data/problems/206.yml +2 -2
  294. data/data/problems/207.yml +13 -16
  295. data/data/problems/208.yml +8 -8
  296. data/data/problems/209.yml +11 -23
  297. data/data/problems/21.yml +8 -9
  298. data/data/problems/210.yml +6 -6
  299. data/data/problems/211.yml +7 -7
  300. data/data/problems/212.yml +26 -36
  301. data/data/problems/213.yml +6 -7
  302. data/data/problems/214.yml +10 -11
  303. data/data/problems/215.yml +11 -14
  304. data/data/problems/216.yml +7 -10
  305. data/data/problems/217.yml +14 -23
  306. data/data/problems/218.yml +9 -10
  307. data/data/problems/219.yml +10 -15
  308. data/data/problems/22.yml +7 -9
  309. data/data/problems/220.yml +15 -20
  310. data/data/problems/221.yml +10 -16
  311. data/data/problems/222.yml +5 -3
  312. data/data/problems/223.yml +6 -8
  313. data/data/problems/224.yml +6 -8
  314. data/data/problems/225.yml +6 -7
  315. data/data/problems/226.yml +9 -12
  316. data/data/problems/227.yml +9 -9
  317. data/data/problems/228.yml +14 -17
  318. data/data/problems/229.yml +17 -25
  319. data/data/problems/23.yml +11 -15
  320. data/data/problems/230.yml +15 -19
  321. data/data/problems/231.yml +8 -12
  322. data/data/problems/232.yml +9 -10
  323. data/data/problems/233.yml +7 -6
  324. data/data/problems/234.yml +14 -19
  325. data/data/problems/235.yml +4 -5
  326. data/data/problems/236.yml +20 -22
  327. data/data/problems/237.yml +14 -9
  328. data/data/problems/238.yml +21 -33
  329. data/data/problems/239.yml +5 -5
  330. data/data/problems/24.yml +7 -6
  331. data/data/problems/240.yml +7 -7
  332. data/data/problems/241.yml +9 -12
  333. data/data/problems/242.yml +7 -9
  334. data/data/problems/243.yml +14 -15
  335. data/data/problems/244.yml +19 -28
  336. data/data/problems/245.yml +22 -30
  337. data/data/problems/246.yml +10 -13
  338. data/data/problems/247.yml +14 -17
  339. data/data/problems/248.yml +5 -2
  340. data/data/problems/249.yml +3 -3
  341. data/data/problems/25.yml +12 -11
  342. data/data/problems/250.yml +3 -3
  343. data/data/problems/251.yml +11 -9
  344. data/data/problems/252.yml +24 -25
  345. data/data/problems/253.yml +19 -32
  346. data/data/problems/254.yml +13 -17
  347. data/data/problems/255.yml +40 -50
  348. data/data/problems/256.yml +31 -39
  349. data/data/problems/257.yml +10 -14
  350. data/data/problems/258.yml +7 -9
  351. data/data/problems/259.yml +14 -12
  352. data/data/problems/26.yml +17 -7
  353. data/data/problems/260.yml +21 -25
  354. data/data/problems/261.yml +13 -15
  355. data/data/problems/262.yml +15 -16
  356. data/data/problems/263.yml +13 -15
  357. data/data/problems/264.yml +15 -16
  358. data/data/problems/265.yml +10 -12
  359. data/data/problems/266.yml +6 -6
  360. data/data/problems/267.yml +13 -10
  361. data/data/problems/268.yml +5 -4
  362. data/data/problems/269.yml +10 -11
  363. data/data/problems/27.yml +15 -21
  364. data/data/problems/270.yml +13 -13
  365. data/data/problems/271.yml +7 -9
  366. data/data/problems/272.yml +8 -11
  367. data/data/problems/273.yml +13 -17
  368. data/data/problems/274.yml +16 -19
  369. data/data/problems/275.yml +13 -15
  370. data/data/problems/276.yml +5 -7
  371. data/data/problems/277.yml +17 -20
  372. data/data/problems/278.yml +20 -28
  373. data/data/problems/279.yml +4 -3
  374. data/data/problems/28.yml +6 -13
  375. data/data/problems/280.yml +9 -9
  376. data/data/problems/281.yml +10 -13
  377. data/data/problems/282.yml +9 -6
  378. data/data/problems/283.yml +8 -8
  379. data/data/problems/284.yml +15 -18
  380. data/data/problems/285.yml +11 -11
  381. data/data/problems/286.yml +7 -8
  382. data/data/problems/287.yml +22 -32
  383. data/data/problems/288.yml +10 -11
  384. data/data/problems/289.yml +14 -15
  385. data/data/problems/29.yml +13 -20
  386. data/data/problems/290.yml +3 -4
  387. data/data/problems/291.yml +3 -6
  388. data/data/problems/292.yml +8 -9
  389. data/data/problems/293.yml +9 -10
  390. data/data/problems/294.yml +6 -6
  391. data/data/problems/295.yml +16 -21
  392. data/data/problems/296.yml +9 -11
  393. data/data/problems/297.yml +12 -15
  394. data/data/problems/298.yml +29 -29
  395. data/data/problems/299.yml +15 -21
  396. data/data/problems/3.yml +3 -3
  397. data/data/problems/30.yml +7 -8
  398. data/data/problems/300.yml +15 -16
  399. data/data/problems/301.yml +15 -17
  400. data/data/problems/302.yml +13 -14
  401. data/data/problems/303.yml +9 -7
  402. data/data/problems/304.yml +10 -15
  403. data/data/problems/305.yml +6 -10
  404. data/data/problems/306.yml +20 -24
  405. data/data/problems/307.yml +7 -8
  406. data/data/problems/308.yml +19 -30
  407. data/data/problems/309.yml +11 -12
  408. data/data/problems/31.yml +11 -14
  409. data/data/problems/310.yml +10 -15
  410. data/data/problems/311.yml +11 -17
  411. data/data/problems/312.yml +10 -11
  412. data/data/problems/313.yml +13 -13
  413. data/data/problems/314.yml +23 -25
  414. data/data/problems/315.yml +39 -45
  415. data/data/problems/316.yml +13 -13
  416. data/data/problems/317.yml +6 -7
  417. data/data/problems/318.yml +35 -57
  418. data/data/problems/319.yml +15 -19
  419. data/data/problems/32.yml +9 -10
  420. data/data/problems/320.yml +9 -8
  421. data/data/problems/321.yml +8 -9
  422. data/data/problems/322.yml +6 -8
  423. data/data/problems/323.yml +12 -15
  424. data/data/problems/324.yml +10 -13
  425. data/data/problems/325.yml +15 -21
  426. data/data/problems/326.yml +15 -8
  427. data/data/problems/327.yml +19 -23
  428. data/data/problems/328.yml +28 -31
  429. data/data/problems/329.yml +12 -13
  430. data/data/problems/33.yml +9 -9
  431. data/data/problems/330.yml +17 -36
  432. data/data/problems/331.yml +16 -22
  433. data/data/problems/332.yml +9 -11
  434. data/data/problems/333.yml +17 -20
  435. data/data/problems/334.yml +22 -34
  436. data/data/problems/335.yml +11 -12
  437. data/data/problems/336.yml +18 -20
  438. data/data/problems/337.yml +9 -11
  439. data/data/problems/338.yml +27 -37
  440. data/data/problems/339.yml +9 -9
  441. data/data/problems/34.yml +7 -3
  442. data/data/problems/340.yml +8 -10
  443. data/data/problems/341.yml +12 -14
  444. data/data/problems/342.yml +9 -13
  445. data/data/problems/343.yml +18 -25
  446. data/data/problems/344.yml +16 -17
  447. data/data/problems/345.yml +17 -22
  448. data/data/problems/346.yml +7 -7
  449. data/data/problems/347.yml +9 -12
  450. data/data/problems/348.yml +7 -8
  451. data/data/problems/349.yml +8 -9
  452. data/data/problems/35.yml +7 -4
  453. data/data/problems/350.yml +12 -14
  454. data/data/problems/351.yml +8 -9
  455. data/data/problems/352.yml +38 -42
  456. data/data/problems/353.yml +17 -21
  457. data/data/problems/354.yml +11 -13
  458. data/data/problems/355.yml +4 -4
  459. data/data/problems/356.yml +6 -6
  460. data/data/problems/357.yml +5 -5
  461. data/data/problems/358.yml +16 -25
  462. data/data/problems/359.yml +19 -22
  463. data/data/problems/36.yml +7 -4
  464. data/data/problems/360.yml +8 -8
  465. data/data/problems/361.yml +14 -15
  466. data/data/problems/362.yml +16 -28
  467. data/data/problems/363.yml +22 -23
  468. data/data/problems/364.yml +9 -11
  469. data/data/problems/365.yml +7 -13
  470. data/data/problems/366.yml +19 -22
  471. data/data/problems/367.yml +14 -15
  472. data/data/problems/368.yml +18 -35
  473. data/data/problems/369.yml +7 -11
  474. data/data/problems/37.yml +7 -6
  475. data/data/problems/370.yml +10 -13
  476. data/data/problems/371.yml +8 -9
  477. data/data/problems/372.yml +9 -12
  478. data/data/problems/373.yml +5 -6
  479. data/data/problems/374.yml +17 -21
  480. data/data/problems/375.yml +13 -17
  481. data/data/problems/376.yml +19 -21
  482. data/data/problems/377.yml +6 -7
  483. data/data/problems/378.yml +8 -11
  484. data/data/problems/379.yml +9 -11
  485. data/data/problems/38.yml +9 -13
  486. data/data/problems/380.yml +14 -17
  487. data/data/problems/381.yml +12 -18
  488. data/data/problems/382.yml +16 -19
  489. data/data/problems/383.yml +7 -9
  490. data/data/problems/384.yml +20 -24
  491. data/data/problems/385.yml +12 -16
  492. data/data/problems/386.yml +9 -11
  493. data/data/problems/387.yml +14 -15
  494. data/data/problems/388.yml +6 -8
  495. data/data/problems/389.yml +8 -8
  496. data/data/problems/39.yml +7 -6
  497. data/data/problems/390.yml +9 -14
  498. data/data/problems/391.yml +21 -25
  499. data/data/problems/392.yml +16 -17
  500. data/data/problems/393.yml +5 -6
  501. data/data/problems/394.yml +15 -18
  502. data/data/problems/395.yml +12 -13
  503. data/data/problems/396.yml +17 -22
  504. data/data/problems/397.yml +13 -16
  505. data/data/problems/398.yml +8 -9
  506. data/data/problems/399.yml +18 -18
  507. data/data/problems/4.yml +5 -4
  508. data/data/problems/40.yml +11 -14
  509. data/data/problems/400.yml +10 -11
  510. data/data/problems/401.yml +6 -7
  511. data/data/problems/402.yml +16 -21
  512. data/data/problems/403.yml +12 -14
  513. data/data/problems/404.yml +14 -16
  514. data/data/problems/405.yml +10 -11
  515. data/data/problems/406.yml +35 -41
  516. data/data/problems/407.yml +9 -16
  517. data/data/problems/408.yml +9 -9
  518. data/data/problems/409.yml +5 -7
  519. data/data/problems/41.yml +5 -4
  520. data/data/problems/410.yml +10 -13
  521. data/data/problems/411.yml +15 -19
  522. data/data/problems/412.yml +11 -15
  523. data/data/problems/413.yml +8 -8
  524. data/data/problems/414.yml +29 -34
  525. data/data/problems/415.yml +12 -15
  526. data/data/problems/416.yml +7 -7
  527. data/data/problems/417.yml +16 -17
  528. data/data/problems/418.yml +9 -12
  529. data/data/problems/419.yml +13 -18
  530. data/data/problems/42.yml +9 -10
  531. data/data/problems/420.yml +5 -6
  532. data/data/problems/421.yml +14 -25
  533. data/data/problems/422.yml +16 -18
  534. data/data/problems/423.yml +16 -18
  535. data/data/problems/424.yml +18 -19
  536. data/data/problems/425.yml +11 -12
  537. data/data/problems/426.yml +20 -21
  538. data/data/problems/427.yml +11 -13
  539. data/data/problems/428.yml +21 -25
  540. data/data/problems/429.yml +6 -6
  541. data/data/problems/43.yml +15 -13
  542. data/data/problems/430.yml +14 -16
  543. data/data/problems/44.yml +9 -12
  544. data/data/problems/45.yml +11 -11
  545. data/data/problems/46.yml +9 -14
  546. data/data/problems/47.yml +11 -16
  547. data/data/problems/48.yml +5 -3
  548. data/data/problems/49.yml +7 -6
  549. data/data/problems/5.yml +5 -4
  550. data/data/problems/50.yml +11 -6
  551. data/data/problems/51.yml +9 -11
  552. data/data/problems/52.yml +5 -4
  553. data/data/problems/53.yml +15 -24
  554. data/data/problems/54.yml +29 -39
  555. data/data/problems/55.yml +16 -17
  556. data/data/problems/56.yml +5 -7
  557. data/data/problems/57.yml +10 -11
  558. data/data/problems/58.yml +11 -18
  559. data/data/problems/59.yml +11 -19
  560. data/data/problems/6.yml +13 -9
  561. data/data/problems/60.yml +5 -6
  562. data/data/problems/61.yml +18 -26
  563. data/data/problems/62.yml +5 -5
  564. data/data/problems/63.yml +5 -3
  565. data/data/problems/64.yml +52 -126
  566. data/data/problems/65.yml +21 -47
  567. data/data/problems/66.yml +13 -23
  568. data/data/problems/67.yml +10 -13
  569. data/data/problems/68.yml +15 -19
  570. data/data/problems/69.yml +18 -10
  571. data/data/problems/7.yml +5 -2
  572. data/data/problems/70.yml +10 -12
  573. data/data/problems/71.yml +11 -13
  574. data/data/problems/72.yml +11 -12
  575. data/data/problems/73.yml +11 -12
  576. data/data/problems/74.yml +25 -37
  577. data/data/problems/75.yml +10 -12
  578. data/data/problems/76.yml +4 -4
  579. data/data/problems/77.yml +4 -4
  580. data/data/problems/78.yml +13 -8
  581. data/data/problems/79.yml +7 -7
  582. data/data/problems/8.yml +14 -8
  583. data/data/problems/80.yml +7 -7
  584. data/data/problems/81.yml +9 -15
  585. data/data/problems/82.yml +10 -15
  586. data/data/problems/83.yml +10 -19
  587. data/data/problems/84.yml +36 -59
  588. data/data/problems/85.yml +7 -5
  589. data/data/problems/86.yml +11 -11
  590. data/data/problems/87.yml +7 -8
  591. data/data/problems/88.yml +30 -49
  592. data/data/problems/89.yml +13 -14
  593. data/data/problems/9.yml +6 -9
  594. data/data/problems/90.yml +16 -18
  595. data/data/problems/91.yml +10 -15
  596. data/data/problems/92.yml +14 -25
  597. data/data/problems/93.yml +13 -17
  598. data/data/problems/94.yml +7 -7
  599. data/data/problems/95.yml +13 -19
  600. data/data/problems/96.yml +24 -40
  601. data/data/problems/97.yml +7 -10
  602. data/data/problems/98.yml +9 -12
  603. data/data/problems/99.yml +9 -12
  604. data/euler-manager.gemspec +1 -0
  605. data/example/1/README.md +4 -4
  606. data/example/15/README.md +8 -0
  607. data/example/15/python/15.py +5 -0
  608. data/example/15/python/euler.py +0 -0
  609. data/example/2/README.md +7 -5
  610. data/example/Eulerfile.rb +1 -0
  611. data/lib/euler/problem.rb +6 -1
  612. data/lib/euler/solution.rb +4 -2
  613. data/lib/euler/version.rb +1 -1
  614. data/rake/clean.rake +16 -0
  615. data/rake/update.rake +88 -0
  616. data/spec/euler/solution_spec.rb +2 -1
  617. data/templates/Eulerfile.rb +12 -0
  618. metadata +189 -29
  619. data/data/problems/431.yml +0 -33
  620. data/data/problems/432.yml +0 -13
  621. data/data/problems/433.yml +0 -18
  622. data/data/problems/434.yml +0 -32
  623. data/data/problems/435.yml +0 -21
  624. data/data/problems/436.yml +0 -21
  625. data/data/problems/437.yml +0 -22
  626. data/data/problems/438.yml +0 -29
  627. data/data/problems/439.yml +0 -17
  628. data/data/problems/440.yml +0 -21
  629. data/data/problems/441.yml +0 -23
  630. data/data/problems/442.yml +0 -9
  631. data/data/problems/443.yml +0 -13
  632. data/data/problems/444.yml +0 -28
  633. data/data/problems/445.yml +0 -37
  634. data/data/problems/446.yml +0 -29
  635. data/data/problems/447.yml +0 -31
  636. data/data/problems/448.yml +0 -14
  637. data/data/problems/449.yml +0 -17
  638. data/data/problems/450.yml +0 -26
  639. data/data/problems/451.yml +0 -15
  640. data/data/problems/452.yml +0 -8
  641. data/data/problems/453.yml +0 -16
  642. data/data/problems/454.yml +0 -17
  643. data/data/problems/455.yml +0 -16
  644. data/data/problems/456.yml +0 -15
  645. data/scripts/update_problems +0 -68
@@ -2,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"