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,24 +2,24 @@
2
2
  :id: 316
3
3
  :name: Numbers in decimal expansions
4
4
  :url: http://projecteuler.net/problem=316
5
- :content: "\r\n<p>Let <var>p</var> = <var>p<sub><font size=\"-2\">1</font></sub> p<sub><font
5
+ :content: "Let <var>p</var> = <var>p<sub><font size=\"-2\">1</font></sub> p<sub><font
6
6
  size=\"-2\">2</font></sub> p<sub><font size=\"-2\">3</font></sub></var> ... be an
7
7
  infinite sequence of random digits, selected from {0,1,2,3,4,5,6,7,8,9} with equal
8
- probability.<br>\r\nIt can be seen that <var>p</var> corresponds to the real number
8
+ probability. \n\rIt can be seen that <var>p</var> corresponds to the real number
9
9
  0.<var>p<sub><font size=\"-2\">1</font></sub> p<sub><font size=\"-2\">2</font></sub>
10
- p<sub><font size=\"-2\">3</font></sub></var> .... <br>\r\nIt can also be seen that
10
+ p<sub><font size=\"-2\">3</font></sub></var> .... \n\rIt can also be seen that
11
11
  choosing a random real number from the interval [0,1) is equivalent to choosing
12
12
  an infinite sequence of random digits selected from {0,1,2,3,4,5,6,7,8,9} with equal
13
- probability.</p>\r\n\r\n<p>For any positive integer <var>n</var> with <var>d</var>
14
- decimal digits, let <var>k</var> be the smallest index such that <br><var>p<sub><small>k</small>,
13
+ probability.\n\nFor any positive integer <var>n</var> with <var>d</var> decimal
14
+ digits, let <var>k</var> be the smallest index such that \n <var>p<sub><small>k</small>,
15
15
  </sub></var><var>p<sub><small>k+1</small></sub></var>, ...<var>p<sub><small>k+d-1</small></sub></var>
16
- are the decimal digits of <var>n</var>, in the same order.<br>\r\nAlso, let <var>g</var>(<var>n</var>)
16
+ are the decimal digits of <var>n</var>, in the same order. \n\rAlso, let <var>g</var>(<var>n</var>)
17
17
  be the expected value of <var>k</var>; it can be proven that <var>g</var>(<var>n</var>)
18
- is always finite and, interestingly, always an integer number.</p>\r\n\r\n<p>For
19
- example, if <var>n</var> = 535, then<br>\r\nfor <var>p</var> = 31415926<b>535</b>897....,
20
- we get <var>k</var> = 9<br>\r\nfor <var>p</var> = 35528714365004956000049084876408468<b>535</b>4...,
21
- we get <var>k</var> = 36<br>\r\netc and we find that <var>g</var>(535) = 1008.</p>\r\n\r\n<p>Given
22
- that <img style=\"vertical-align:middle\" src=\"project/images/p_316_decexp1.gif\">,
23
- find <img style=\"vertical-align:middle\" src=\"project/images/p_316_decexp2.gif\"></p>\r\n\r\n<u><i>Note</i></u>:
24
- <img style=\"vertical-align:middle\" src=\"project/images/p_316_decexp3.gif\"> represents
18
+ is always finite and, interestingly, always an integer number.\n\nFor example, if
19
+ <var>n</var> = 535, then \n\rfor <var>p</var> = 31415926 **535** 897...., we get
20
+ <var>k</var> = 9 \n\rfor <var>p</var> = 35528714365004956000049084876408468 **535**
21
+ 4..., we get <var>k</var> = 36 \n\retc and we find that <var>g</var>(535) = 1008.\n\nGiven
22
+ that ![](/home/will/src/euler-manager/config/../data/images/p_316_decexp1.gif),
23
+ find ![](/home/will/src/euler-manager/config/../data/images/p_316_decexp2.gif)\n\n<u><i>Note</i></u>:
24
+ ![](/home/will/src/euler-manager/config/../data/images/p_316_decexp3.gif) represents
25
25
  the floor function.\r\n"
@@ -2,10 +2,9 @@
2
2
  :id: 317
3
3
  :name: Firecracker
4
4
  :url: http://projecteuler.net/problem=317
5
- :content: "\r\n<p>\r\nA firecracker explodes at a height of 100 m above level ground.
6
- It breaks into a large number of very small fragments, which move in every direction;
7
- all of them have the same initial velocity of 20 m/s.\r\n</p>\r\n<p>\r\nWe assume
8
- that the fragments move without air resistance, in a uniform gravitational field
9
- with g=9.81 m/s<sup>2</sup>.\r\n</p>\r\n<p>\r\nFind the volume (in m<sup>3</sup>)
10
- of the region through which the fragments move before reaching the ground. \r\nGive
11
- your answer rounded to four decimal places.\r\n</p>\r\n\r\n\r\n\r\n"
5
+ :content: "A firecracker explodes at a height of 100 m above level ground. It breaks
6
+ into a large number of very small fragments, which move in every direction; all
7
+ of them have the same initial velocity of 20 m/s.\n\nWe assume that the fragments
8
+ move without air resistance, in a uniform gravitational field with g=9.81 m/s<sup>2</sup>.\n\nFind
9
+ the volume (in m<sup>3</sup>) of the region through which the fragments move before
10
+ reaching the ground. \rGive your answer rounded to four decimal places.\n\n"
@@ -2,60 +2,38 @@
2
2
  :id: 318
3
3
  :name: 2011 nines
4
4
  :url: http://projecteuler.net/problem=318
5
- :content: "\r\n<p>\r\nConsider the real number <img src=\"images/symbol_radic.gif\"
6
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img
7
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
8
- style=\"vertical-align:middle;\">3.<br>\r\nWhen we calculate the even powers of
9
- <img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
10
- style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\" width=\"14\"
11
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3\r\nwe get:<br>\r\n(<img
12
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
13
- style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\" width=\"14\"
14
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>2</sup>
15
- = 9.898979485566356...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
16
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
17
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>4</sup>
18
- = 97.98979485566356...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
19
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
20
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>6</sup>
21
- = 969.998969071069263...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
22
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
23
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>8</sup>
24
- = 9601.99989585502907...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
25
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
26
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>10</sup>
27
- = 95049.999989479221...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
28
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
29
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>12</sup>
30
- = 940897.9999989371855...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
31
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
32
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>14</sup>
33
- = 9313929.99999989263...<br>\r\n(<img src=\"images/symbol_radic.gif\" width=\"14\"
34
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img src=\"images/symbol_radic.gif\"
35
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">3)<sup>16</sup>
36
- = 92198401.99999998915...<br></p>\r\n<p>\r\nIt looks like that the number of consecutive
37
- nines at the beginning of the fractional part of these powers is non-decreasing.<br>\r\nIn
38
- fact it can be proven that the fractional part of (<img src=\"images/symbol_radic.gif\"
39
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">2+<img
40
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
41
- style=\"vertical-align:middle;\">3)<sup>2n</sup> approaches 1 for large n.\r\n</p>\r\n<p>\r\nConsider
42
- all real numbers of the form <img src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\"
43
- alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">p+<img src=\"images/symbol_radic.gif\"
44
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">q
45
- with p and q positive integers and p<img src=\"images/symbol_lt.gif\" width=\"10\"
46
- height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">q, such
47
- that the fractional part \r\nof (<img src=\"images/symbol_radic.gif\" width=\"14\"
48
- height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">p+<img src=\"images/symbol_radic.gif\"
49
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">q)<sup>2n</sup>
50
- approaches 1 for large n.\r\n</p>\r\n<p>\r\nLet C(p,q,n) be the number of consecutive
51
- nines at the beginning of the fractional part of <br> (<img src=\"images/symbol_radic.gif\"
52
- width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">p+<img
53
- src=\"images/symbol_radic.gif\" width=\"14\" height=\"16\" alt=\"√\" border=\"0\"
54
- style=\"vertical-align:middle;\">q)<sup>2n</sup>.\r\n</p>\r\n<p>\r\nLet N(p,q) be
55
- the minimal value of n such that C(p,q,n) <img src=\"images/symbol_ge.gif\" width=\"10\"
56
- height=\"12\" alt=\"≥\" border=\"0\" style=\"vertical-align:middle;\"> 2011.\r\n</p>\r\n<p>\r\nFind
57
- <img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
58
- style=\"vertical-align:middle;\">N(p,q) for p+q <img src=\"images/symbol_le.gif\"
59
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
60
- 2011.\r\n</p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
61
- \r\n\r\n\r\n"
5
+ :content: "Consider the real number ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
6
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3. \n\rWhen
7
+ we calculate the even powers of ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
8
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3\rwe get:
9
+ \ \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
10
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>2</sup>
11
+ = 9.898979485566356... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
12
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>4</sup>
13
+ = 97.98979485566356... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
14
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>6</sup>
15
+ = 969.998969071069263... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
16
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>8</sup>
17
+ = 9601.99989585502907... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
18
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>10</sup>
19
+ = 95049.999989479221... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
20
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>12</sup>
21
+ = 940897.9999989371855... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
22
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>14</sup>
23
+ = 9313929.99999989263... \n\r( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
24
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>16</sup>
25
+ = 92198401.99999998915...\n\nIt looks like that the number of consecutive nines
26
+ at the beginning of the fractional part of these powers is non-decreasing. \n\rIn
27
+ fact it can be proven that the fractional part of ( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)2+
28
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)3)<sup>2n</sup>
29
+ approaches 1 for large n.\n\nConsider all real numbers of the form ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)p+
30
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)q with
31
+ p and q positive integers and p ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)q,
32
+ such that the fractional part \rof ( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)p+
33
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)q)<sup>2n</sup>
34
+ approaches 1 for large n.\n\nLet C(p,q,n) be the number of consecutive nines at
35
+ the beginning of the fractional part of \n ( ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)p+
36
+ ![√](/home/will/src/euler-manager/config/../data/images/symbol_radic.gif)q)<sup>2n</sup>.\n\nLet
37
+ N(p,q) be the minimal value of n such that C(p,q,n) ![≥](/home/will/src/euler-manager/config/../data/images/symbol_ge.gif)
38
+ 2011.\n\nFind ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)N(p,q)
39
+ for p+q ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 2011.\n\n"
@@ -2,22 +2,18 @@
2
2
  :id: 319
3
3
  :name: Bounded Sequences
4
4
  :url: http://projecteuler.net/problem=319
5
- :content: "\r\n<p>\r\nLet <var>x</var><sub>1</sub>, <var>x</var><sub>2</sub>,...,
6
- <var>x<sub>n</sub></var> be a sequence of length <var>n</var> such that:\r\n</p>\n<ul>\n<li>\n<var>x</var><sub>1</sub>
7
- = 2</li>\r\n<li>for all 1 <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\"
8
- alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var> <img src=\"images/symbol_le.gif\"
9
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
10
- : <var>x</var><sub><var>i</var>-<i>1</i></sub><img src=\"images/symbol_lt.gif\"
11
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>x<sub>i</sub></var>\n</li>\r\n<li>for
12
- all <var>i</var> and <var>j</var> with 1 <img src=\"images/symbol_le.gif\" width=\"10\"
13
- height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var>,
14
- <var>j</var> <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
15
- border=\"0\" style=\"vertical-align:middle;\"><var>n</var> : (<var>x<sub>i</sub></var>)<var><sup>
16
- j</sup></var> <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\"
17
- border=\"0\" style=\"vertical-align:middle;\"> (<var>x<sub>j</sub></var> + 1)<var><sup>i</sup></var>\n</li>\r\n</ul>\n<p>\r\nThere
18
- are only five such sequences of length 2, namely:\r\n{2,4}, {2,5}, {2,6}, {2,7}
19
- and {2,8}.<br>\r\nThere are 293 such sequences of length 5; three examples are given
20
- below:<br>\r\n{2,5,11,25,55}, {2,6,14,36,88}, {2,8,22,64,181}.\r\n</p>\r\n<p>\r\nLet
21
- <var>t</var>(<var>n</var>) denote the number of such sequences of length <var>n</var>.<br>\r\nYou
22
- are given that <var>t</var>(10) = 86195 and <var>t</var>(20) = 5227991891.\r\n</p>\r\n<p>\r\nFind
23
- <var>t</var>(10<sup>10</sup>) and give your answer modulo 10<sup>9</sup>.\r\n</p>\r\n\r\n\r\n"
5
+ :content: "Let <var>x</var><sub>1</sub>, <var>x</var><sub>2</sub>,..., <var>x<sub>n</sub></var>
6
+ be a sequence of length <var>n</var> such that:\n\n- <var>x</var><sub>1</sub> =
7
+ 2\n- for all 1 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
8
+ <var>i</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
9
+ <var>n</var> : <var>x</var><sub><var>i</var>-<i>1</i></sub> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
10
+ <var>x<sub>i</sub></var>\n- for all <var>i</var> and <var>j</var> with 1 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
11
+ <var>i</var>, <var>j</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
12
+ <var>n</var> : (<var>x<sub>i</sub></var>)<var><sup> j</sup></var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
13
+ (<var>x<sub>j</sub></var> + 1)<var><sup>i</sup></var>\n\nThere are only five such
14
+ sequences of length 2, namely:\r{2,4}, {2,5}, {2,6}, {2,7} and {2,8}. \n\rThere
15
+ are 293 such sequences of length 5; three examples are given below: \n\r{2,5,11,25,55},
16
+ {2,6,14,36,88}, {2,8,22,64,181}.\n\nLet <var>t</var>(<var>n</var>) denote the number
17
+ of such sequences of length <var>n</var>. \n\rYou are given that <var>t</var>(10)
18
+ = 86195 and <var>t</var>(20) = 5227991891.\n\nFind <var>t</var>(10<sup>10</sup>)
19
+ and give your answer modulo 10<sup>9</sup>.\n\n"
data/data/problems/32.yml CHANGED
@@ -2,13 +2,12 @@
2
2
  :id: 32
3
3
  :name: Pandigital products
4
4
  :url: http://projecteuler.net/problem=32
5
- :content: "\r\n<p>We shall say that an <var>n</var>-digit number is pandigital if
6
- it makes use of all the digits 1 to <var>n</var> exactly once; for example, the
7
- 5-digit number, 15234, is 1 through 5 pandigital.</p>\r\n\r\n<p>The product 7254
8
- is unusual, as the identity, 39 <img src=\"images/symbol_times.gif\" width=\"9\"
9
- height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"> 186 = 7254,
10
- containing multiplicand, multiplier, and product is 1 through 9 pandigital.</p>\r\n\r\n<p>Find
11
- the sum of all products whose multiplicand/multiplier/product identity can be written
12
- as a 1 through 9 pandigital.</p>\r\n\r\n<div class=\"note\">HINT: Some products
13
- can be obtained in more than one way so be sure to only include it once in your
14
- sum.</div>\r\n\r\n"
5
+ :content: |+
6
+ We shall say that an <var>n</var>-digit number is pandigital if it makes use of all the digits 1 to <var>n</var> exactly once; for example, the 5-digit number, 15234, is 1 through 5 pandigital.
7
+
8
+ The product 7254 is unusual, as the identity, 39 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif) 186 = 7254, containing multiplicand, multiplier, and product is 1 through 9 pandigital.
9
+
10
+ Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.
11
+
12
+ HINT: Some products can be obtained in more than one way so be sure to only include it once in your sum.
13
+
@@ -2,11 +2,12 @@
2
2
  :id: 320
3
3
  :name: Factorials divisible by a huge integer
4
4
  :url: http://projecteuler.net/problem=320
5
- :content: "\r\n<p>\r\nLet N(<var>i</var>) be the smallest integer <var>n</var> such
6
- that <var>n</var>! is divisible by (<var>i</var>!)<sup>1234567890</sup></p>\r\n<p>\r\nLet
7
- S(<var>u</var>)=<img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\"
8
- border=\"0\" style=\"vertical-align:middle;\">N(<var>i</var>) for 10 <img src=\"images/symbol_le.gif\"
9
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var>
10
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
11
- style=\"vertical-align:middle;\"><var>u</var>.\r\n</p>\r\n<p>\r\nS(1000)=614538266565663.\r\n</p>\r\n<p>\r\nFind
12
- S(1 000 000) mod 10<sup>18</sup>.\r\n</p>\r\n\r\n\r\n"
5
+ :content: |+
6
+ Let N(<var>i</var>) be the smallest integer <var>n</var> such that <var>n</var>! is divisible by (<var>i</var>!)<sup>1234567890</sup>
7
+
8
+ Let S(<var>u</var>)= ![∑](/home/will/src/euler-manager/config/../data/images/symbol_sum.gif)N(<var>i</var>) for 10 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>i</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>u</var>.
9
+
10
+ S(1000)=614538266565663.
11
+
12
+ Find S(1 000 000) mod 10<sup>18</sup>.
13
+
@@ -2,17 +2,16 @@
2
2
  :id: 321
3
3
  :name: Swapping Counters
4
4
  :url: http://projecteuler.net/problem=321
5
- :content: "\r\n<p>A horizontal row comprising of 2<var>n</var> + 1 squares has <var>n</var>
5
+ :content: "A horizontal row comprising of 2<var>n</var> + 1 squares has <var>n</var>
6
6
  red counters placed at one end and <var>n</var> blue counters at the other end,
7
7
  being separated by a single empty square in the centre. For example, when <var>n</var>
8
- = 3.</p>\r\n\r\n<p></p>\n<div align=\"center\"><img src=\"project/images/p_321_swapping_counters_1.gif\"></div>\r\n\r\n<p>A
8
+ = 3.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_321_swapping_counters_1.gif)\n\nA
9
9
  counter can move from one square to the next (slide) or can jump over another counter
10
- (hop) as long as the square next to that counter is unoccupied.</p>\r\n\r\n<p></p>\n<div
11
- align=\"center\"><img src=\"project/images/p_321_swapping_counters_2.gif\"></div>\r\n\r\n<p>Let
10
+ (hop) as long as the square next to that counter is unoccupied.\n\n ![](/home/will/src/euler-manager/config/../data/images/p_321_swapping_counters_2.gif)\n\nLet
12
11
  M(<var>n</var>) represent the minimum number of moves/actions to completely reverse
13
12
  the positions of the coloured counters; that is, move all the red counters to the
14
- right and all the blue counters to the left.</p>\r\n<p>It can be verified M(3) =
15
- 15, which also happens to be a triangle number.</p>\r\n\r\n<p>If we create a sequence
16
- based on the values of <var>n</var> for which M(<var>n</var>) is a triangle number
17
- then the first five terms would be:\r\n<br>1, 3, 10, 22, and 63, and their sum would
18
- be 99.</p>\r\n\r\n<p>Find the sum of the first forty terms of this sequence.</p>\r\n"
13
+ right and all the blue counters to the left.\n\nIt can be verified M(3) = 15, which
14
+ also happens to be a triangle number.\n\nIf we create a sequence based on the values
15
+ of <var>n</var> for which M(<var>n</var>) is a triangle number then the first five
16
+ terms would be:\r \n1, 3, 10, 22, and 63, and their sum would be 99.\n\nFind the
17
+ sum of the first forty terms of this sequence.\n\n"
@@ -2,11 +2,9 @@
2
2
  :id: 322
3
3
  :name: Binomial coefficients divisible by 10
4
4
  :url: http://projecteuler.net/problem=322
5
- :content: "\r\n<p>\r\nLet T(<var>m</var>, <var>n</var>) be the number of the binomial
6
- coefficients <sup><var>i</var></sup>C<sub><var>n</var></sub> that are divisible
7
- by 10 for <var>n</var> <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\"
8
- alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>i</var> <img src=\"images/symbol_lt.gif\"
9
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>m</var>(<var>i</var>,
10
- <var>m</var> and <var>n</var> are positive integers).<br>\r\nYou are given that
11
- T(10<sup>9</sup>, 10<sup>7</sup>-10) = 989697000.\r\n</p>\r\n<p>\r\nFind T(10<sup>18</sup>,
12
- 10<sup>12</sup>-10).\r\n</p>\r\n"
5
+ :content: "Let T(<var>m</var>, <var>n</var>) be the number of the binomial coefficients
6
+ <sup><var>i</var></sup>C<sub><var>n</var></sub> that are divisible by 10 for <var>n</var>
7
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>i</var>
8
+ ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>m</var>(<var>i</var>,
9
+ <var>m</var> and <var>n</var> are positive integers). \n\rYou are given that T(10<sup>9</sup>,
10
+ 10<sup>7</sup>-10) = 989697000.\n\nFind T(10<sup>18</sup>, 10<sup>12</sup>-10).\n\n"
@@ -2,18 +2,15 @@
2
2
  :id: 323
3
3
  :name: Bitwise-OR operations on random integers
4
4
  :url: http://projecteuler.net/problem=323
5
- :content: "\r\n<p>Let <var>y</var><sub>0</sub>, <var>y</var><sub>1</sub>, <var>y</var><sub>2</sub>,...
6
- be a sequence of random unsigned 32 bit integers<br>\r\n(i.e. 0 <img src=\"images/symbol_le.gif\"
7
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>y<sub>i</sub></var>
8
- <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
9
- style=\"vertical-align:middle;\"> 2<sup>32</sup>, every value equally likely).</p>\r\n<p>For
10
- the sequence <var>x<sub>i</sub></var> the following recursion is given:<br></p>\n<ul>\n<li>\n<var>x</var><sub>0</sub>
11
- = 0 and</li>\r\n<li>\n<var>x<sub>i</sub></var> = <var>x</var><sub><var>i</var>-<i>1</i></sub><b>|</b>
12
- <var>y</var><sub><var>i</var>-<i>1</i></sub>, for <var>i</var> <img src=\"images/symbol_gt.gif\"
13
- width=\"10\" height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\">
14
- 0. ( <b>|</b> is the bitwise-OR operator)</li>\r\n</ul>\n<p>It can be seen that
15
- eventually there will be an index N such that <var>x<sub>i</sub></var> = 2<sup>32</sup>
16
- -1 (a bit-pattern of all ones) for all <var>i</var> <img src=\"images/symbol_ge.gif\"
17
- width=\"10\" height=\"12\" alt=\"≥\" border=\"0\" style=\"vertical-align:middle;\">
18
- N.</p>\r\n\r\n<p>Find the expected value of N. <br>\r\nGive your answer rounded
19
- to 10 digits after the decimal point.</p>\r\n"
5
+ :content: "Let <var>y</var><sub>0</sub>, <var>y</var><sub>1</sub>, <var>y</var><sub>2</sub>,...
6
+ be a sequence of random unsigned 32 bit integers \n\r(i.e. 0 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
7
+ <var>y<sub>i</sub></var> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif)
8
+ 2<sup>32</sup>, every value equally likely).\n\nFor the sequence <var>x<sub>i</sub></var>
9
+ the following recursion is given:\n\n- <var>x</var><sub>0</sub> = 0 and\n- <var>x<sub>i</sub></var>
10
+ = <var>x</var><sub><var>i</var>-<i>1</i></sub> **|** <var>y</var><sub><var>i</var>-<i>1</i></sub>,
11
+ for <var>i</var> ![>](/home/will/src/euler-manager/config/../data/images/symbol_gt.gif)
12
+ 0. ( **|** is the bitwise-OR operator)\n\nIt can be seen that eventually there will
13
+ be an index N such that <var>x<sub>i</sub></var> = 2<sup>32</sup> -1 (a bit-pattern
14
+ of all ones) for all <var>i</var> ![≥](/home/will/src/euler-manager/config/../data/images/symbol_ge.gif)
15
+ N.\n\nFind the expected value of N. \n\rGive your answer rounded to 10 digits
16
+ after the decimal point.\n\n"
@@ -2,16 +2,13 @@
2
2
  :id: 324
3
3
  :name: Building a tower
4
4
  :url: http://projecteuler.net/problem=324
5
- :content: "\r\n<p>Let <var>f</var>(<var>n</var>) represent the number of ways one
6
- can fill a 3<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\"
7
- border=\"0\" style=\"vertical-align:middle;\">3<img src=\"images/symbol_times.gif\"
8
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>
9
- tower with blocks of 2<img src=\"images/symbol_times.gif\" width=\"9\" height=\"9\"
10
- alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">1<img src=\"images/symbol_times.gif\"
11
- width=\"9\" height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">1.
12
- <br>You're allowed to rotate the blocks in any way you like; however, rotations,
13
- reflections etc of the tower itself are counted as distinct.</p>\r\n<p>For example
14
- (with <var>q</var> = 100000007) :<br><var>f</var>(2) = 229,<br><var>f</var>(4) =
15
- 117805,<br><var>f</var>(10) mod <var>q</var> = 96149360,<br><var>f</var>(10<sup>3</sup>)
16
- mod <var>q</var> = 24806056,<br><var>f</var>(10<sup>6</sup>) mod <var>q</var> =
17
- 30808124.</p>\r\n\r\n<p>Find <var>f</var>(10<sup>10000</sup>) mod 100000007.</p>\r\n"
5
+ :content: "Let <var>f</var>(<var>n</var>) represent the number of ways one can fill
6
+ a 3 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)3 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)<var>n</var>
7
+ tower with blocks of 2 ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)1
8
+ ![×](/home/will/src/euler-manager/config/../data/images/symbol_times.gif)1. \nYou're
9
+ allowed to rotate the blocks in any way you like; however, rotations, reflections
10
+ etc of the tower itself are counted as distinct.\n\nFor example (with <var>q</var>
11
+ = 100000007) : \n<var>f</var>(2) = 229, \n<var>f</var>(4) = 117805, \n<var>f</var>(10)
12
+ mod <var>q</var> = 96149360, \n<var>f</var>(10<sup>3</sup>) mod <var>q</var> =
13
+ 24806056, \n<var>f</var>(10<sup>6</sup>) mod <var>q</var> = 30808124.\n\nFind <var>f</var>(10<sup>10000</sup>)
14
+ mod 100000007.\n\n"
@@ -2,24 +2,18 @@
2
2
  :id: 325
3
3
  :name: Stone Game II
4
4
  :url: http://projecteuler.net/problem=325
5
- :content: "\r\n<p>\r\nA game is played with two piles of stones and two players. At
6
- her turn, a player removes a number of stones from the larger pile. The number of
7
- stones she removes must be a positive multiple of the number of stones in the smaller
8
- pile.\r\n</p>\r\n\r\n<p>\r\nE.g., let the ordered pair(6,14) describe a configuration
9
- with 6 stones in the smaller pile and 14 stones in the larger pile, then the first
10
- player can remove 6 or 12 stones from the larger pile.\r\n</p>\r\n\r\n<p>\r\nThe
11
- player taking all the stones from a pile wins the game.\r\n</p>\r\n\r\n<p>\r\nA
12
- <i>winning configuration</i> is one where the first player can force a win. For
13
- example, (1,5), (2,6) and (3,12) are winning configurations because the first player
14
- can immediately remove all stones in the second pile.\r\n</p>\r\n\r\n<p>\r\nA <i>losing
15
- configuration</i> is one where the second player can force a win, no matter what
16
- the first player does. For example, (2,3) and (3,4) are losing configurations: any
17
- legal move leaves a winning configuration for the second player.\r\n</p>\r\n\r\n<p>\r\nDefine
18
- S(<var>N</var>) as the sum of (<var>x</var><sub><var>i</var></sub>+<var>y</var><sub><var>i</var></sub>)
19
- for all losing configurations (<var>x</var><sub><var>i</var></sub>,<var>y</var><sub><var>i</var></sub>),
20
- 0 <img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
21
- style=\"vertical-align:middle;\"><var>x</var><sub><var>i</var></sub><img src=\"images/symbol_lt.gif\"
22
- width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"><var>y</var><sub><var>i</var></sub><img
23
- src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>N</var>.
24
- We can verify that S(10) = 211 and S(10<sup>4</sup>) = 230312207313.\r\n</p>\r\n\r\n<p>\r\nFind
25
- S(10<sup>16</sup>) mod 7<sup>10</sup>.\r\n</p>\r\n"
5
+ :content: |+
6
+ A game is played with two piles of stones and two players. At her turn, a player removes a number of stones from the larger pile. The number of stones she removes must be a positive multiple of the number of stones in the smaller pile.
7
+
8
+ E.g., let the ordered pair(6,14) describe a configuration with 6 stones in the smaller pile and 14 stones in the larger pile, then the first player can remove 6 or 12 stones from the larger pile.
9
+
10
+ The player taking all the stones from a pile wins the game.
11
+
12
+ A _winning configuration_ is one where the first player can force a win. For example, (1,5), (2,6) and (3,12) are winning configurations because the first player can immediately remove all stones in the second pile.
13
+
14
+ A _losing configuration_ is one where the second player can force a win, no matter what the first player does. For example, (2,3) and (3,4) are losing configurations: any legal move leaves a winning configuration for the second player.
15
+
16
+ Define S(<var>N</var>) as the sum of (<var>x</var><sub><var>i</var></sub>+<var>y</var><sub><var>i</var></sub>) for all losing configurations (<var>x</var><sub><var>i</var></sub>,<var>y</var><sub><var>i</var></sub>), 0 ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>x</var><sub><var>i</var></sub> ![<](/home/will/src/euler-manager/config/../data/images/symbol_lt.gif) <var>y</var><sub><var>i</var></sub> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>N</var>. We can verify that S(10) = 211 and S(10<sup>4</sup>) = 230312207313.
17
+
18
+ Find S(10<sup>16</sup>) mod 7<sup>10</sup>.
19
+
@@ -2,11 +2,18 @@
2
2
  :id: 326
3
3
  :name: Modulo Summations
4
4
  :url: http://projecteuler.net/problem=326
5
- :content: "\r\n<p>\r\nLet <var>a<sub>n</sub></var> be a sequence recursively defined
6
- by: <img src=\"project/images/p_326_formula1.gif\" style=\"vertical-align:\r\nmiddle;\">.
7
- \r\n</p>\r\n<p>\r\nSo the first 10 elements of <var>a<sub>n</sub></var> are: 1,1,0,3,0,3,5,4,1,9.\r\n</p>\r\n<p>Let
8
- <var>f</var>(<var>N,M</var>) represent the number of pairs (<var>p,q</var>) such
9
- that: </p>\n<div align=\"center\"><img src=\"project/images/p_326_formula2.gif\"></div>\r\n\r\n<p>\r\nIt
10
- can be seen that <var>f</var>(10,10)=4 with the pairs (3,3), (5,5), (7,9) and (9,10).\r\n</p>\r\n<p>\r\nYou
11
- are also given that <var>f</var>(10<sup>4</sup>,10<sup>3</sup>)=97158.</p>\r\n<p>\r\nFind
12
- <var>f</var>(10<sup>12</sup>,10<sup>6</sup>).\r\n</p>\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n"
5
+ :content: |+
6
+ Let <var>a<sub>n</sub></var> be a sequence recursively defined by: ![](/home/will/src/euler-manager/config/../data/images/p_326_formula1.gif).
7
+
8
+ So the first 10 elements of <var>a<sub>n</sub></var> are: 1,1,0,3,0,3,5,4,1,9.
9
+
10
+ Let <var>f</var>(<var>N,M</var>) represent the number of pairs (<var>p,q</var>) such that:
11
+
12
+ ![](/home/will/src/euler-manager/config/../data/images/p_326_formula2.gif)
13
+
14
+ It can be seen that <var>f</var>(10,10)=4 with the pairs (3,3), (5,5), (7,9) and (9,10).
15
+
16
+ You are also given that <var>f</var>(10<sup>4</sup>,10<sup>3</sup>)=97158.
17
+
18
+ Find <var>f</var>(10<sup>12</sup>,10<sup>6</sup>).
19
+
@@ -2,38 +2,34 @@
2
2
  :id: 327
3
3
  :name: Rooms of Doom
4
4
  :url: http://projecteuler.net/problem=327
5
- :content: "\r\n<p>A series of three rooms are connected to each other by automatic
6
- doors.</p>\r\n\r\n<div align=\"center\"><img src=\"http://projecteuler.net/project/images/p_327_rooms_of_doom.gif\"></div>\r\n\r\n<p>Each
5
+ :content: "A series of three rooms are connected to each other by automatic doors.\n\n
6
+ ![](/home/will/src/euler-manager/config/../data/images/p_327_rooms_of_doom.gif)\n\nEach
7
7
  door is operated by a security card. Once you enter a room the door automatically
8
8
  closes and that security card cannot be used again. A machine at the start will
9
9
  dispense an unlimited number of cards, but each room (including the starting room)
10
10
  contains scanners and if they detect that you are holding more than three security
11
11
  cards or if they detect an unattended security card on the floor, then all the doors
12
12
  will become permanently locked. However, each room contains a box where you may
13
- safely store any number of security cards for use at a later stage.</p>\r\n\r\n<p>If
14
- you simply tried to travel through the rooms one at a time then as you entered room
15
- 3 you would have used all three cards and would be trapped in that room forever!</p>\r\n\r\n<p>However,
13
+ safely store any number of security cards for use at a later stage.\n\nIf you simply
14
+ tried to travel through the rooms one at a time then as you entered room 3 you would
15
+ have used all three cards and would be trapped in that room forever!\n\nHowever,
16
16
  if you make use of the storage boxes, then escape is possible. For example, you
17
17
  could enter room 1 using your first card, place one card in the storage box, and
18
18
  use your third card to exit the room back to the start. Then after collecting three
19
19
  more cards from the dispensing machine you could use one to enter room 1 and collect
20
20
  the card you placed in the box a moment ago. You now have three cards again and
21
21
  will be able to travel through the remaining three doors. This method allows you
22
- to travel through all three rooms using six security cards in total.</p>\r\n\r\n<p>It
23
- is possible to travel through six rooms using a total of 123 security cards while
24
- carrying a maximum of 3 cards.</p>\r\n\r\n<p>Let <var>C</var> be the maximum number
25
- of cards which can be carried at any time.</p>\r\n<p>Let <var>R</var> be the number
26
- of rooms to travel through.</p>\r\n<p>Let M(<var>C</var>,<var>R</var>) be the minimum
27
- number of cards required from the dispensing machine to travel through <var>R</var>
28
- rooms carrying up to a maximum of <var>C</var> cards at any time.</p>\r\n\r\n<p>For
29
- example, M(3,6)=123 and M(4,6)=23.<br>And, ΣM(<var>C</var>,6)=146 for 3 <img src=\"images/symbol_le.gif\"
30
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>C</var>
31
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
32
- style=\"vertical-align:middle;\"> 4.</p>\r\n\r\n\r\n<p>You are given that ΣM(<var>C</var>,10)=10382
33
- for 3 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
34
- style=\"vertical-align:middle;\"><var>C</var> <img src=\"images/symbol_le.gif\"
35
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
36
- 10.</p>\r\n\r\n<p>Find ΣM(<var>C</var>,30) for 3 <img src=\"images/symbol_le.gif\"
37
- width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>C</var>
38
- <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
39
- style=\"vertical-align:middle;\"> 40.</p>\r\n\r\n\r\n"
22
+ to travel through all three rooms using six security cards in total.\n\nIt is possible
23
+ to travel through six rooms using a total of 123 security cards while carrying a
24
+ maximum of 3 cards.\n\nLet <var>C</var> be the maximum number of cards which can
25
+ be carried at any time.\n\nLet <var>R</var> be the number of rooms to travel through.\n\nLet
26
+ M(<var>C</var>,<var>R</var>) be the minimum number of cards required from the dispensing
27
+ machine to travel through <var>R</var> rooms carrying up to a maximum of <var>C</var>
28
+ cards at any time.\n\nFor example, M(3,6)=123 and M(4,6)=23. \nAnd, ΣM(<var>C</var>,6)=146
29
+ for 3 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) <var>C</var>
30
+ ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif) 4.\n\nYou
31
+ are given that ΣM(<var>C</var>,10)=10382 for 3 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
32
+ <var>C</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
33
+ 10.\n\nFind ΣM(<var>C</var>,30) for 3 ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
34
+ <var>C</var> ![≤](/home/will/src/euler-manager/config/../data/images/symbol_le.gif)
35
+ 40.\n\n"