euler-manager 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +2 -1
  4. data/README.md +27 -21
  5. data/Rakefile +3 -2
  6. data/config/config.rb +6 -2
  7. data/data/answers.yml +431 -430
  8. data/data/images/{p_015.gif → p015.gif} +0 -0
  9. data/data/images/{p_068_1.gif → p068_1.gif} +0 -0
  10. data/data/images/{p_068_2.gif → p068_2.gif} +0 -0
  11. data/data/images/{p_085.gif → p085.gif} +0 -0
  12. data/data/images/{p_086.gif → p086.gif} +0 -0
  13. data/data/images/{p_090.gif → p090.gif} +0 -0
  14. data/data/images/{p_091_1.gif → p091_1.gif} +0 -0
  15. data/data/images/{p_091_2.gif → p091_2.gif} +0 -0
  16. data/data/images/{p_107_1.gif → p107_1.gif} +0 -0
  17. data/data/images/{p_107_2.gif → p107_2.gif} +0 -0
  18. data/data/images/{p_109.gif → p109.gif} +0 -0
  19. data/data/images/{p_126.gif → p126.gif} +0 -0
  20. data/data/images/{p_128.gif → p128.gif} +0 -0
  21. data/data/images/{p_138.gif → p138.gif} +0 -0
  22. data/data/images/{p_139.gif → p139.gif} +0 -0
  23. data/data/images/{p_143_torricelli.gif → p143_torricelli.gif} +0 -0
  24. data/data/images/{p_144_1.gif → p144_1.gif} +0 -0
  25. data/data/images/{p_144_2.gif → p144_2.gif} +0 -0
  26. data/data/images/{p_147.gif → p147.gif} +0 -0
  27. data/data/images/{p_150.gif → p150.gif} +0 -0
  28. data/data/images/{p_151.gif → p151.gif} +0 -0
  29. data/data/images/{p_152_sum.gif → p152_sum.gif} +0 -0
  30. data/data/images/{p_153_formule1.gif → p153_formule1.gif} +0 -0
  31. data/data/images/{p_153_formule2.gif → p153_formule2.gif} +0 -0
  32. data/data/images/{p_153_formule5.gif → p153_formule5.gif} +0 -0
  33. data/data/images/{p_153_formule6.gif → p153_formule6.gif} +0 -0
  34. data/data/images/{p_154_pyramid.gif → p154_pyramid.gif} +0 -0
  35. data/data/images/{p_155_capacitors1.gif → p155_capacitors1.gif} +0 -0
  36. data/data/images/{p_155_capsform.gif → p155_capsform.gif} +0 -0
  37. data/data/images/{p_155_capsmu.gif → p155_capsmu.gif} +0 -0
  38. data/data/images/{p_161_k9.gif → p161_k9.gif} +0 -0
  39. data/data/images/{p_161_trio1.gif → p161_trio1.gif} +0 -0
  40. data/data/images/{p_161_trio3.gif → p161_trio3.gif} +0 -0
  41. data/data/images/{p_163.gif → p163.gif} +0 -0
  42. data/data/images/{p_173_square_laminas.gif → p173_square_laminas.gif} +0 -0
  43. data/data/images/{p_177_quad.gif → p177_quad.gif} +0 -0
  44. data/data/images/{p_184.gif → p184.gif} +0 -0
  45. data/data/images/{p_189_colours.gif → p189_colours.gif} +0 -0
  46. data/data/images/{p_189_grid.gif → p189_grid.gif} +0 -0
  47. data/data/images/{p_194_Fig.png → p194_Fig.png} +0 -0
  48. data/data/images/{p_194_GraphA.png → p194_GraphA.png} +0 -0
  49. data/data/images/{p_194_GraphB.png → p194_GraphB.png} +0 -0
  50. data/data/images/{p_199_circles_in_circles.gif → p199_circles_in_circles.gif} +0 -0
  51. data/data/images/{p_201_laserbeam.gif → p201_laserbeam.gif} +0 -0
  52. data/data/images/{p_208_robotwalk.gif → p208_robotwalk.gif} +0 -0
  53. data/data/images/{p_215_crackfree.gif → p215_crackfree.gif} +0 -0
  54. data/data/images/{p_220.gif → p220.gif} +0 -0
  55. data/data/images/{p_226_formula.gif → p226_formula.gif} +0 -0
  56. data/data/images/{p_226_scoop2.gif → p226_scoop2.gif} +0 -0
  57. data/data/images/{p_228.png → p228.png} +0 -0
  58. data/data/images/{p_237.gif → p237.gif} +0 -0
  59. data/data/images/{p_244_example.gif → p244_example.gif} +0 -0
  60. data/data/images/{p_244_start.gif → p244_start.gif} +0 -0
  61. data/data/images/{p_244_target.gif → p244_target.gif} +0 -0
  62. data/data/images/{p_246_anim.gif → p246_anim.gif} +0 -0
  63. data/data/images/{p_246_ellipse.gif → p246_ellipse.gif} +0 -0
  64. data/data/images/{p_247_hypersquares.gif → p247_hypersquares.gif} +0 -0
  65. data/data/images/{p_251_cardano.gif → p251_cardano.gif} +0 -0
  66. data/data/images/{p_252_convexhole.gif → p252_convexhole.gif} +0 -0
  67. data/data/images/{p_255_Example.gif → p255_Example.gif} +0 -0
  68. data/data/images/{p_255_Heron.gif → p255_Heron.gif} +0 -0
  69. data/data/images/{p_256_tatami3.gif → p256_tatami3.gif} +0 -0
  70. data/data/images/{p_257_bisector.gif → p257_bisector.gif} +0 -0
  71. data/data/images/{p_262_formula1.gif → p262_formula1.gif} +0 -0
  72. data/data/images/{p_264_TriangleCentres.gif → p264_TriangleCentres.gif} +0 -0
  73. data/data/images/{p_265_BinaryCircles.gif → p265_BinaryCircles.gif} +0 -0
  74. data/data/images/{p_270_CutSquare.gif → p270_CutSquare.gif} +0 -0
  75. data/data/images/{p_275_sculptures2.gif → p275_sculptures2.gif} +0 -0
  76. data/data/images/{p_281_pizza.gif → p281_pizza.gif} +0 -0
  77. data/data/images/{p_282_formula.gif → p282_formula.gif} +0 -0
  78. data/data/images/{p_282formula3.gif → p282formula3.gif} +0 -0
  79. data/data/images/{p_287_quadtree.gif → p287_quadtree.gif} +0 -0
  80. data/data/images/{p_289_euler.gif → p289_euler.gif} +0 -0
  81. data/data/images/{p_291_formula.gif → p291_formula.gif} +0 -0
  82. data/data/images/{p_299_ThreeSimTri.gif → p299_ThreeSimTri.gif} +0 -0
  83. data/data/images/{p_300_protein.gif → p300_protein.gif} +0 -0
  84. data/data/images/{p_306_pstrip.gif → p306_pstrip.gif} +0 -0
  85. data/data/images/{p_309_ladders.gif → p309_ladders.gif} +0 -0
  86. data/data/images/{p_311_biclinic.gif → p311_biclinic.gif} +0 -0
  87. data/data/images/{p_312_sierpinsky8t.gif → p312_sierpinsky8t.gif} +0 -0
  88. data/data/images/{p_312_sierpinskyAt.gif → p312_sierpinskyAt.gif} +0 -0
  89. data/data/images/{p_313_sliding_game_1.gif → p313_sliding_game_1.gif} +0 -0
  90. data/data/images/{p_313_sliding_game_2.gif → p313_sliding_game_2.gif} +0 -0
  91. data/data/images/{p_314_landgrab.gif → p314_landgrab.gif} +0 -0
  92. data/data/images/{p_315_clocks.gif → p315_clocks.gif} +0 -0
  93. data/data/images/{p_316_decexp1.gif → p316_decexp1.gif} +0 -0
  94. data/data/images/{p_316_decexp2.gif → p316_decexp2.gif} +0 -0
  95. data/data/images/{p_316_decexp3.gif → p316_decexp3.gif} +0 -0
  96. data/data/images/{p_321_swapping_counters_1.gif → p321_swapping_counters_1.gif} +0 -0
  97. data/data/images/{p_321_swapping_counters_2.gif → p321_swapping_counters_2.gif} +0 -0
  98. data/data/images/{p_326_formula1.gif → p326_formula1.gif} +0 -0
  99. data/data/images/{p_326_formula2.gif → p326_formula2.gif} +0 -0
  100. data/data/images/{p_327_rooms_of_doom.gif → p327_rooms_of_doom.gif} +0 -0
  101. data/data/images/{p_328_sum1.gif → p328_sum1.gif} +0 -0
  102. data/data/images/{p_328_sum2.gif → p328_sum2.gif} +0 -0
  103. data/data/images/{p_330_formula.gif → p330_formula.gif} +0 -0
  104. data/data/images/{p_331_crossflips1.gif → p331_crossflips1.gif} +0 -0
  105. data/data/images/{p_331_crossflips2.gif → p331_crossflips2.gif} +0 -0
  106. data/data/images/{p_331_crossflips3.gif → p331_crossflips3.gif} +0 -0
  107. data/data/images/{p_332_spherical.jpg → p332_spherical.jpg} +0 -0
  108. data/data/images/{p_332_sum.gif → p332_sum.gif} +0 -0
  109. data/data/images/{p_334_beans.gif → p334_beans.gif} +0 -0
  110. data/data/images/{p_334_cases.gif → p334_cases.gif} +0 -0
  111. data/data/images/{p_334_lfloor.gif → p334_lfloor.gif} +0 -0
  112. data/data/images/{p_334_oplus.gif → p334_oplus.gif} +0 -0
  113. data/data/images/{p_334_rfloor.gif → p334_rfloor.gif} +0 -0
  114. data/data/images/{p_335_mancala.gif → p335_mancala.gif} +0 -0
  115. data/data/images/{p_335_sum.gif → p335_sum.gif} +0 -0
  116. data/data/images/{p_336_maximix.gif → p336_maximix.gif} +0 -0
  117. data/data/images/{p_338_gridpaper.gif → p338_gridpaper.gif} +0 -0
  118. data/data/images/{p_340_formula.gif → p340_formula.gif} +0 -0
  119. data/data/images/{p_344_silverdollar.gif → p344_silverdollar.gif} +0 -0
  120. data/data/images/{p_351_hexorchard.png → p351_hexorchard.png} +0 -0
  121. data/data/images/{p_354_bee_honeycomb.png → p354_bee_honeycomb.png} +0 -0
  122. data/data/images/{p_356_cubicpoly1.gif → p356_cubicpoly1.gif} +0 -0
  123. data/data/images/{p_356_cubicpoly2.gif → p356_cubicpoly2.gif} +0 -0
  124. data/data/images/{p_361_Thue-Morse1.gif → p361_Thue-Morse1.gif} +0 -0
  125. data/data/images/p363_bezier.png +0 -0
  126. data/data/images/{p_364_comf_dist.gif → p364_comf_dist.gif} +0 -0
  127. data/data/images/{p_372_pencilray1.jpg → p372_pencilray1.jpg} +0 -0
  128. data/data/images/{p_372_pencilray2.gif → p372_pencilray2.gif} +0 -0
  129. data/data/images/{p_380_mazes.gif → p380_mazes.gif} +0 -0
  130. data/data/images/{p_384_formula.gif → p384_formula.gif} +0 -0
  131. data/data/images/{p_385_ellipsetriangle.png → p385_ellipsetriangle.png} +0 -0
  132. data/data/images/{p_394_eatpie.gif → p394_eatpie.gif} +0 -0
  133. data/data/images/{p_395_pythagorean.gif → p395_pythagorean.gif} +0 -0
  134. data/data/images/{p_404_c_ellipse.gif → p404_c_ellipse.gif} +0 -0
  135. data/data/images/{p_405_tile1.png → p405_tile1.png} +0 -0
  136. data/data/images/{p_405_tile2.gif → p405_tile2.gif} +0 -0
  137. data/data/images/{p_420_matrix.gif → p420_matrix.gif} +0 -0
  138. data/data/images/{p_424_kakuro1.gif → p424_kakuro1.gif} +0 -0
  139. data/data/images/{p_426_baxball1.gif → p426_baxball1.gif} +0 -0
  140. data/data/images/{p_426_baxball2.gif → p426_baxball2.gif} +0 -0
  141. data/data/images/{p_430_flips.gif → p430_flips.gif} +0 -0
  142. data/data/problems/1.yml +1 -1
  143. data/data/problems/10.yml +6 -4
  144. data/data/problems/100.yml +2 -2
  145. data/data/problems/101.yml +15 -19
  146. data/data/problems/102.yml +9 -10
  147. data/data/problems/103.yml +7 -8
  148. data/data/problems/104.yml +2 -2
  149. data/data/problems/105.yml +4 -4
  150. data/data/problems/106.yml +3 -3
  151. data/data/problems/107.yml +12 -12
  152. data/data/problems/108.yml +8 -14
  153. data/data/problems/109.yml +12 -11
  154. data/data/problems/11.yml +21 -24
  155. data/data/problems/110.yml +9 -10
  156. data/data/problems/111.yml +1 -1
  157. data/data/problems/112.yml +1 -1
  158. data/data/problems/113.yml +1 -1
  159. data/data/problems/114.yml +2 -2
  160. data/data/problems/115.yml +1 -1
  161. data/data/problems/116.yml +11 -11
  162. data/data/problems/117.yml +3 -3
  163. data/data/problems/118.yml +1 -1
  164. data/data/problems/119.yml +1 -1
  165. data/data/problems/12.yml +6 -6
  166. data/data/problems/120.yml +4 -4
  167. data/data/problems/121.yml +1 -1
  168. data/data/problems/122.yml +10 -18
  169. data/data/problems/123.yml +3 -3
  170. data/data/problems/124.yml +17 -19
  171. data/data/problems/125.yml +1 -1
  172. data/data/problems/126.yml +12 -11
  173. data/data/problems/127.yml +8 -8
  174. data/data/problems/128.yml +3 -3
  175. data/data/problems/129.yml +1 -1
  176. data/data/problems/13.yml +1 -1
  177. data/data/problems/130.yml +6 -7
  178. data/data/problems/131.yml +2 -2
  179. data/data/problems/132.yml +2 -2
  180. data/data/problems/133.yml +2 -2
  181. data/data/problems/134.yml +3 -3
  182. data/data/problems/135.yml +3 -3
  183. data/data/problems/136.yml +3 -3
  184. data/data/problems/137.yml +9 -9
  185. data/data/problems/138.yml +5 -5
  186. data/data/problems/139.yml +2 -2
  187. data/data/problems/14.yml +8 -13
  188. data/data/problems/140.yml +5 -5
  189. data/data/problems/141.yml +2 -2
  190. data/data/problems/142.yml +3 -4
  191. data/data/problems/143.yml +3 -3
  192. data/data/problems/144.yml +4 -4
  193. data/data/problems/145.yml +1 -1
  194. data/data/problems/146.yml +1 -1
  195. data/data/problems/147.yml +6 -6
  196. data/data/problems/148.yml +8 -8
  197. data/data/problems/149.yml +12 -25
  198. data/data/problems/15.yml +4 -4
  199. data/data/problems/150.yml +16 -17
  200. data/data/problems/151.yml +3 -3
  201. data/data/problems/152.yml +2 -2
  202. data/data/problems/153.yml +30 -35
  203. data/data/problems/154.yml +16 -12
  204. data/data/problems/155.yml +7 -6
  205. data/data/problems/156.yml +8 -9
  206. data/data/problems/157.yml +4 -6
  207. data/data/problems/158.yml +12 -12
  208. data/data/problems/159.yml +14 -16
  209. data/data/problems/16.yml +1 -1
  210. data/data/problems/160.yml +3 -3
  211. data/data/problems/161.yml +6 -6
  212. data/data/problems/162.yml +3 -3
  213. data/data/problems/163.yml +3 -3
  214. data/data/problems/164.yml +3 -4
  215. data/data/problems/165.yml +12 -12
  216. data/data/problems/166.yml +6 -8
  217. data/data/problems/167.yml +6 -7
  218. data/data/problems/168.yml +5 -7
  219. data/data/problems/169.yml +2 -2
  220. data/data/problems/17.yml +5 -5
  221. data/data/problems/170.yml +9 -10
  222. data/data/problems/171.yml +4 -5
  223. data/data/problems/172.yml +3 -4
  224. data/data/problems/173.yml +2 -2
  225. data/data/problems/174.yml +4 -4
  226. data/data/problems/175.yml +12 -13
  227. data/data/problems/176.yml +1 -1
  228. data/data/problems/177.yml +2 -2
  229. data/data/problems/178.yml +6 -6
  230. data/data/problems/179.yml +4 -4
  231. data/data/problems/18.yml +11 -12
  232. data/data/problems/180.yml +9 -12
  233. data/data/problems/181.yml +1 -1
  234. data/data/problems/182.yml +14 -16
  235. data/data/problems/183.yml +12 -15
  236. data/data/problems/184.yml +3 -3
  237. data/data/problems/185.yml +11 -11
  238. data/data/problems/186.yml +10 -11
  239. data/data/problems/187.yml +8 -8
  240. data/data/problems/188.yml +4 -4
  241. data/data/problems/189.yml +4 -4
  242. data/data/problems/19.yml +1 -1
  243. data/data/problems/190.yml +2 -2
  244. data/data/problems/191.yml +5 -5
  245. data/data/problems/192.yml +10 -14
  246. data/data/problems/193.yml +1 -1
  247. data/data/problems/194.yml +10 -10
  248. data/data/problems/195.yml +5 -6
  249. data/data/problems/196.yml +15 -14
  250. data/data/problems/197.yml +7 -8
  251. data/data/problems/198.yml +8 -14
  252. data/data/problems/199.yml +3 -3
  253. data/data/problems/2.yml +8 -7
  254. data/data/problems/20.yml +4 -9
  255. data/data/problems/200.yml +7 -8
  256. data/data/problems/201.yml +14 -14
  257. data/data/problems/202.yml +2 -2
  258. data/data/problems/203.yml +21 -13
  259. data/data/problems/204.yml +7 -7
  260. data/data/problems/205.yml +6 -6
  261. data/data/problems/206.yml +1 -1
  262. data/data/problems/207.yml +10 -10
  263. data/data/problems/208.yml +4 -5
  264. data/data/problems/209.yml +6 -6
  265. data/data/problems/21.yml +7 -7
  266. data/data/problems/210.yml +6 -6
  267. data/data/problems/211.yml +2 -2
  268. data/data/problems/212.yml +16 -20
  269. data/data/problems/213.yml +6 -6
  270. data/data/problems/214.yml +9 -10
  271. data/data/problems/215.yml +5 -5
  272. data/data/problems/216.yml +5 -6
  273. data/data/problems/217.yml +7 -12
  274. data/data/problems/218.yml +9 -10
  275. data/data/problems/219.yml +5 -5
  276. data/data/problems/22.yml +3 -3
  277. data/data/problems/220.yml +15 -16
  278. data/data/problems/221.yml +8 -8
  279. data/data/problems/222.yml +1 -1
  280. data/data/problems/223.yml +5 -6
  281. data/data/problems/224.yml +5 -6
  282. data/data/problems/225.yml +2 -2
  283. data/data/problems/226.yml +8 -9
  284. data/data/problems/227.yml +3 -3
  285. data/data/problems/228.yml +17 -16
  286. data/data/problems/229.yml +16 -19
  287. data/data/problems/23.yml +1 -3
  288. data/data/problems/230.yml +9 -11
  289. data/data/problems/231.yml +5 -8
  290. data/data/problems/232.yml +1 -1
  291. data/data/problems/233.yml +2 -2
  292. data/data/problems/234.yml +11 -13
  293. data/data/problems/235.yml +2 -2
  294. data/data/problems/236.yml +13 -19
  295. data/data/problems/237.yml +4 -4
  296. data/data/problems/238.yml +16 -19
  297. data/data/problems/239.yml +2 -2
  298. data/data/problems/24.yml +2 -2
  299. data/data/problems/240.yml +7 -7
  300. data/data/problems/241.yml +4 -7
  301. data/data/problems/242.yml +5 -6
  302. data/data/problems/243.yml +13 -13
  303. data/data/problems/244.yml +15 -15
  304. data/data/problems/245.yml +8 -20
  305. data/data/problems/246.yml +11 -12
  306. data/data/problems/247.yml +11 -12
  307. data/data/problems/248.yml +1 -1
  308. data/data/problems/249.yml +2 -2
  309. data/data/problems/25.yml +8 -12
  310. data/data/problems/250.yml +4 -4
  311. data/data/problems/251.yml +4 -4
  312. data/data/problems/252.yml +13 -20
  313. data/data/problems/253.yml +9 -8
  314. data/data/problems/254.yml +3 -3
  315. data/data/problems/255.yml +15 -37
  316. data/data/problems/256.yml +19 -24
  317. data/data/problems/257.yml +8 -10
  318. data/data/problems/258.yml +9 -7
  319. data/data/problems/259.yml +1 -1
  320. data/data/problems/26.yml +11 -11
  321. data/data/problems/260.yml +15 -18
  322. data/data/problems/261.yml +15 -13
  323. data/data/problems/262.yml +15 -14
  324. data/data/problems/263.yml +13 -13
  325. data/data/problems/264.yml +10 -11
  326. data/data/problems/265.yml +2 -2
  327. data/data/problems/266.yml +7 -7
  328. data/data/problems/267.yml +1 -1
  329. data/data/problems/268.yml +1 -1
  330. data/data/problems/269.yml +3 -3
  331. data/data/problems/27.yml +12 -15
  332. data/data/problems/270.yml +4 -4
  333. data/data/problems/271.yml +5 -6
  334. data/data/problems/272.yml +5 -7
  335. data/data/problems/273.yml +4 -4
  336. data/data/problems/274.yml +4 -5
  337. data/data/problems/275.yml +4 -4
  338. data/data/problems/276.yml +5 -6
  339. data/data/problems/277.yml +7 -8
  340. data/data/problems/278.yml +16 -19
  341. data/data/problems/279.yml +3 -4
  342. data/data/problems/28.yml +6 -6
  343. data/data/problems/280.yml +2 -2
  344. data/data/problems/281.yml +4 -6
  345. data/data/problems/282.yml +3 -3
  346. data/data/problems/283.yml +6 -7
  347. data/data/problems/284.yml +7 -8
  348. data/data/problems/285.yml +4 -4
  349. data/data/problems/286.yml +2 -2
  350. data/data/problems/287.yml +19 -24
  351. data/data/problems/288.yml +7 -8
  352. data/data/problems/289.yml +11 -11
  353. data/data/problems/29.yml +10 -13
  354. data/data/problems/290.yml +3 -4
  355. data/data/problems/291.yml +4 -4
  356. data/data/problems/292.yml +5 -6
  357. data/data/problems/293.yml +9 -10
  358. data/data/problems/294.yml +12 -7
  359. data/data/problems/295.yml +11 -13
  360. data/data/problems/296.yml +9 -9
  361. data/data/problems/297.yml +7 -9
  362. data/data/problems/298.yml +32 -40
  363. data/data/problems/299.yml +17 -19
  364. data/data/problems/3.yml +6 -4
  365. data/data/problems/30.yml +1 -1
  366. data/data/problems/300.yml +14 -14
  367. data/data/problems/301.yml +9 -10
  368. data/data/problems/302.yml +5 -5
  369. data/data/problems/303.yml +4 -4
  370. data/data/problems/304.yml +7 -9
  371. data/data/problems/305.yml +4 -5
  372. data/data/problems/306.yml +10 -12
  373. data/data/problems/307.yml +4 -4
  374. data/data/problems/308.yml +4 -4
  375. data/data/problems/309.yml +11 -9
  376. data/data/problems/31.yml +2 -2
  377. data/data/problems/310.yml +6 -9
  378. data/data/problems/311.yml +10 -12
  379. data/data/problems/312.yml +10 -9
  380. data/data/problems/313.yml +5 -5
  381. data/data/problems/314.yml +8 -9
  382. data/data/problems/315.yml +35 -38
  383. data/data/problems/316.yml +17 -16
  384. data/data/problems/317.yml +8 -7
  385. data/data/problems/318.yml +14 -29
  386. data/data/problems/319.yml +10 -12
  387. data/data/problems/32.yml +2 -2
  388. data/data/problems/320.yml +2 -2
  389. data/data/problems/321.yml +12 -11
  390. data/data/problems/322.yml +4 -5
  391. data/data/problems/323.yml +7 -9
  392. data/data/problems/324.yml +7 -9
  393. data/data/problems/325.yml +2 -2
  394. data/data/problems/326.yml +3 -3
  395. data/data/problems/327.yml +19 -22
  396. data/data/problems/328.yml +23 -23
  397. data/data/problems/329.yml +6 -6
  398. data/data/problems/33.yml +2 -2
  399. data/data/problems/330.yml +12 -16
  400. data/data/problems/331.yml +16 -18
  401. data/data/problems/332.yml +10 -10
  402. data/data/problems/333.yml +15 -16
  403. data/data/problems/334.yml +17 -19
  404. data/data/problems/335.yml +3 -3
  405. data/data/problems/336.yml +5 -5
  406. data/data/problems/337.yml +7 -8
  407. data/data/problems/338.yml +18 -24
  408. data/data/problems/339.yml +3 -3
  409. data/data/problems/34.yml +1 -1
  410. data/data/problems/340.yml +7 -7
  411. data/data/problems/341.yml +4 -5
  412. data/data/problems/342.yml +6 -9
  413. data/data/problems/343.yml +8 -13
  414. data/data/problems/344.yml +8 -8
  415. data/data/problems/345.yml +17 -16
  416. data/data/problems/346.yml +6 -6
  417. data/data/problems/347.yml +8 -10
  418. data/data/problems/348.yml +5 -5
  419. data/data/problems/349.yml +4 -4
  420. data/data/problems/35.yml +1 -1
  421. data/data/problems/350.yml +5 -6
  422. data/data/problems/351.yml +7 -7
  423. data/data/problems/352.yml +13 -14
  424. data/data/problems/353.yml +2 -2
  425. data/data/problems/354.yml +6 -8
  426. data/data/problems/355.yml +4 -4
  427. data/data/problems/356.yml +5 -4
  428. data/data/problems/357.yml +3 -3
  429. data/data/problems/358.yml +11 -16
  430. data/data/problems/359.yml +12 -12
  431. data/data/problems/36.yml +1 -1
  432. data/data/problems/360.yml +4 -4
  433. data/data/problems/361.yml +9 -9
  434. data/data/problems/362.yml +8 -15
  435. data/data/problems/363.yml +29 -29
  436. data/data/problems/364.yml +4 -4
  437. data/data/problems/365.yml +3 -3
  438. data/data/problems/366.yml +16 -19
  439. data/data/problems/367.yml +11 -11
  440. data/data/problems/368.yml +14 -18
  441. data/data/problems/369.yml +2 -2
  442. data/data/problems/37.yml +1 -1
  443. data/data/problems/370.yml +4 -4
  444. data/data/problems/371.yml +5 -5
  445. data/data/problems/372.yml +6 -7
  446. data/data/problems/373.yml +10 -6
  447. data/data/problems/374.yml +11 -13
  448. data/data/problems/375.yml +11 -14
  449. data/data/problems/376.yml +19 -19
  450. data/data/problems/377.yml +5 -5
  451. data/data/problems/378.yml +8 -9
  452. data/data/problems/379.yml +10 -9
  453. data/data/problems/38.yml +9 -11
  454. data/data/problems/380.yml +8 -10
  455. data/data/problems/381.yml +6 -10
  456. data/data/problems/382.yml +12 -13
  457. data/data/problems/383.yml +5 -6
  458. data/data/problems/384.yml +14 -18
  459. data/data/problems/385.yml +12 -14
  460. data/data/problems/386.yml +4 -5
  461. data/data/problems/387.yml +13 -14
  462. data/data/problems/388.yml +6 -6
  463. data/data/problems/389.yml +3 -3
  464. data/data/problems/39.yml +2 -2
  465. data/data/problems/390.yml +12 -8
  466. data/data/problems/391.yml +18 -20
  467. data/data/problems/392.yml +9 -9
  468. data/data/problems/393.yml +8 -8
  469. data/data/problems/394.yml +14 -15
  470. data/data/problems/395.yml +16 -15
  471. data/data/problems/396.yml +13 -16
  472. data/data/problems/397.yml +4 -6
  473. data/data/problems/398.yml +8 -9
  474. data/data/problems/399.yml +18 -19
  475. data/data/problems/4.yml +2 -2
  476. data/data/problems/40.yml +2 -2
  477. data/data/problems/400.yml +10 -9
  478. data/data/problems/401.yml +6 -7
  479. data/data/problems/402.yml +7 -9
  480. data/data/problems/403.yml +9 -10
  481. data/data/problems/404.yml +8 -10
  482. data/data/problems/405.yml +10 -10
  483. data/data/problems/406.yml +24 -30
  484. data/data/problems/407.yml +6 -10
  485. data/data/problems/408.yml +10 -10
  486. data/data/problems/409.yml +12 -7
  487. data/data/problems/41.yml +1 -1
  488. data/data/problems/410.yml +5 -6
  489. data/data/problems/411.yml +10 -13
  490. data/data/problems/412.yml +10 -10
  491. data/data/problems/413.yml +6 -7
  492. data/data/problems/414.yml +26 -28
  493. data/data/problems/415.yml +12 -13
  494. data/data/problems/416.yml +4 -4
  495. data/data/problems/417.yml +12 -14
  496. data/data/problems/418.yml +13 -10
  497. data/data/problems/419.yml +11 -13
  498. data/data/problems/42.yml +2 -2
  499. data/data/problems/420.yml +8 -8
  500. data/data/problems/421.yml +8 -13
  501. data/data/problems/422.yml +8 -8
  502. data/data/problems/423.yml +11 -12
  503. data/data/problems/424.yml +10 -10
  504. data/data/problems/425.yml +7 -7
  505. data/data/problems/426.yml +9 -9
  506. data/data/problems/427.yml +12 -13
  507. data/data/problems/428.yml +17 -20
  508. data/data/problems/429.yml +5 -5
  509. data/data/problems/43.yml +1 -1
  510. data/data/problems/430.yml +6 -7
  511. data/data/problems/44.yml +4 -4
  512. data/data/problems/45.yml +4 -4
  513. data/data/problems/46.yml +6 -9
  514. data/data/problems/47.yml +5 -8
  515. data/data/problems/48.yml +1 -1
  516. data/data/problems/49.yml +1 -1
  517. data/data/problems/5.yml +1 -1
  518. data/data/problems/50.yml +1 -1
  519. data/data/problems/51.yml +1 -3
  520. data/data/problems/52.yml +1 -1
  521. data/data/problems/53.yml +6 -12
  522. data/data/problems/54.yml +17 -16
  523. data/data/problems/55.yml +3 -3
  524. data/data/problems/56.yml +2 -2
  525. data/data/problems/57.yml +9 -10
  526. data/data/problems/58.yml +11 -11
  527. data/data/problems/59.yml +2 -2
  528. data/data/problems/6.yml +2 -2
  529. data/data/problems/60.yml +1 -1
  530. data/data/problems/61.yml +7 -7
  531. data/data/problems/62.yml +1 -1
  532. data/data/problems/63.yml +1 -1
  533. data/data/problems/64.yml +30 -44
  534. data/data/problems/65.yml +19 -19
  535. data/data/problems/66.yml +9 -12
  536. data/data/problems/67.yml +9 -9
  537. data/data/problems/68.yml +3 -3
  538. data/data/problems/69.yml +3 -3
  539. data/data/problems/7.yml +1 -1
  540. data/data/problems/70.yml +4 -4
  541. data/data/problems/71.yml +4 -4
  542. data/data/problems/72.yml +4 -4
  543. data/data/problems/73.yml +4 -4
  544. data/data/problems/74.yml +9 -16
  545. data/data/problems/75.yml +3 -3
  546. data/data/problems/76.yml +1 -1
  547. data/data/problems/77.yml +1 -1
  548. data/data/problems/78.yml +8 -8
  549. data/data/problems/79.yml +2 -2
  550. data/data/problems/8.yml +12 -13
  551. data/data/problems/80.yml +1 -1
  552. data/data/problems/81.yml +8 -10
  553. data/data/problems/82.yml +10 -11
  554. data/data/problems/83.yml +10 -11
  555. data/data/problems/84.yml +45 -37
  556. data/data/problems/85.yml +2 -2
  557. data/data/problems/86.yml +8 -8
  558. data/data/problems/87.yml +1 -1
  559. data/data/problems/88.yml +11 -22
  560. data/data/problems/89.yml +14 -14
  561. data/data/problems/9.yml +6 -7
  562. data/data/problems/90.yml +7 -7
  563. data/data/problems/91.yml +6 -8
  564. data/data/problems/92.yml +6 -11
  565. data/data/problems/93.yml +11 -12
  566. data/data/problems/94.yml +1 -1
  567. data/data/problems/95.yml +2 -2
  568. data/data/problems/96.yml +7 -9
  569. data/data/problems/97.yml +3 -3
  570. data/data/problems/98.yml +2 -2
  571. data/data/problems/99.yml +4 -4
  572. data/euler-manager.gemspec +2 -2
  573. data/example/1/README.md +1 -1
  574. data/example/1/ruby/1.rb +7 -1
  575. data/example/1/scala/1.scala +1 -1
  576. data/example/15/README.md +4 -4
  577. data/example/2/README.md +1 -4
  578. data/languages/c.rb +22 -0
  579. data/languages/elixir.rb +25 -0
  580. data/languages/java.rb +3 -2
  581. data/languages/perl.rb +25 -0
  582. data/languages/php.rb +25 -0
  583. data/lib/euler/version.rb +1 -1
  584. data/rake/clean.rake +0 -2
  585. data/rake/sha_answers.rake +20 -0
  586. data/rake/update.rake +5 -2
  587. data/spec/euler_spec.rb +5 -0
  588. data/templates/c.c +11 -0
  589. data/templates/elixir.ex +1 -0
  590. data/templates/perl.pl +3 -0
  591. data/templates/php.php +5 -0
  592. metadata +148 -164
  593. data/data/images/blackdot.gif +0 -0
  594. data/data/images/bracket_left.gif +0 -0
  595. data/data/images/bracket_right.gif +0 -0
  596. data/data/images/sod_13.gif +0 -119
  597. data/data/images/symbol_asymp.gif +0 -0
  598. data/data/images/symbol_cong.gif +0 -0
  599. data/data/images/symbol_ge.gif +0 -0
  600. data/data/images/symbol_gt.gif +0 -0
  601. data/data/images/symbol_implies.gif +0 -0
  602. data/data/images/symbol_lceil.gif +0 -0
  603. data/data/images/symbol_le.gif +0 -0
  604. data/data/images/symbol_lfloor.gif +0 -0
  605. data/data/images/symbol_lt.gif +0 -0
  606. data/data/images/symbol_maps.gif +0 -0
  607. data/data/images/symbol_minus.gif +0 -0
  608. data/data/images/symbol_ne.gif +0 -0
  609. data/data/images/symbol_plusmn.gif +0 -0
  610. data/data/images/symbol_radic.gif +0 -0
  611. data/data/images/symbol_rceil.gif +0 -0
  612. data/data/images/symbol_rfloor.gif +0 -0
  613. data/data/images/symbol_sum.gif +0 -0
  614. data/data/images/symbol_times.gif +0 -0
  615. data/example/1/haskell/1.hs +0 -3
  616. data/example/12/README.md +0 -20
  617. data/example/12/haskell/12.hs +0 -3
  618. data/example/lib/Euler.hs +0 -1
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  :id: 285
3
3
  :name: Pythagorean odds
4
- :url: http://projecteuler.net/problem=285
4
+ :url: https://projecteuler.net/problem=285
5
5
  :content: "Albert chooses a positive integer <var>k</var>, then two real numbers <var>a</var>,
6
6
  <var>b</var> are randomly chosen in the interval [0,1] with uniform distribution.
7
- \ \n\rThe square root of the sum (<var>k</var>·<var>a</var>+1)<sup>2</sup> + (<var>k</var>·<var>b</var>+1)<sup>2</sup>
7
+ \ \nThe square root of the sum (<var>k</var>·<var>a</var>+1)<sup>2</sup> + (<var>k</var>·<var>b</var>+1)<sup>2</sup>
8
8
  is then computed and rounded to the nearest integer. If the result is equal to <var>k</var>,
9
9
  he scores <var>k</var> points; otherwise he scores nothing.\n\nFor example, if <var>k</var> = 6,
10
10
  <var>a</var> = 0.2 and <var>b</var> = 0.85, then (<var>k</var>·<var>a</var>+1)<sup>2</sup> + (<var>k</var>·<var>b</var>+1)<sup>2</sup> = 42.05.
11
- \ \n\rThe square root of 42.05 is 6.484... and when rounded to the nearest integer,
12
- it becomes 6. \n\rThis is equal to <var>k</var>, so he scores 6 points.\n\nIt can
11
+ \ \nThe square root of 42.05 is 6.484... and when rounded to the nearest integer,
12
+ it becomes 6. \nThis is equal to <var>k</var>, so he scores 6 points.\n\nIt can
13
13
  be shown that if he plays 10 turns with <var>k</var> = 1, <var>k</var> = 2, ...,
14
14
  <var>k</var> = 10, the expected value of his total score, rounded to five decimal
15
15
  places, is 10.20914.\n\nIf he plays 10<sup>5</sup> turns with <var>k</var> = 1,
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  :id: 286
3
3
  :name: Scoring probabilities
4
- :url: http://projecteuler.net/problem=286
4
+ :url: https://projecteuler.net/problem=286
5
5
  :content: |+
6
- Barbara is a mathematician and a basketball player. She has found that the probability of scoring a point when shooting from a distance <var>x</var> is exactly (1 - <sup><var>x</var></sup>/<sub><var>q</var></sub>), where <var>q</var> is a real constant greater than 50.
6
+ Barbara is a mathematician and a basketball player. She has found that the probability of scoring a point when shooting from a distance <var>x</var> is exactly (1 -&nbsp;<sup><var>x</var></sup>/<sub><var>q</var></sub>), where <var>q</var> is a real constant greater than 50.
7
7
 
8
8
  During each practice run, she takes shots from distances <var>x</var> = 1, <var>x</var> = 2, ..., <var>x</var> = 50 and, according to her records, she has precisely a 2 % chance to score a total of exactly 20 points.
9
9
 
@@ -1,27 +1,22 @@
1
1
  ---
2
2
  :id: 287
3
3
  :name: Quadtree encoding (a simple compression algorithm)
4
- :url: http://projecteuler.net/problem=287
5
- :content: "The quadtree encoding allows us to describe a 2<sup><var>N</var></sup>
6
- ![×]({{ images_dir }}/symbol_times.gif)2<sup><var>N</var></sup> black and white
7
- image as a sequence of bits (0 and 1). Those sequences are to be read from left
8
- to right like this:\n\n- the first bit deals with the complete 2<sup><var>N</var></sup>
9
- ![×]({{ images_dir }}/symbol_times.gif)2<sup><var>N</var></sup> region;\n- \"0\"
10
- denotes a split:\r \nthe current 2<sup><var>n</var></sup> ![×]({{ images_dir }}/symbol_times.gif)2<sup><var>n</var></sup>
11
- region is divided into 4 sub-regions of dimension 2<sup><var>n</var>-1</sup> ![×]({{
12
- images_dir }}/symbol_times.gif)2<sup><var>n</var>-1</sup>, \n\rthe next bits contains
13
- the description of the top left, top right, bottom left and bottom right sub-regions
14
- - in that order;\n- \"10\" indicates that the current region contains only black
15
- pixels;\n- \"11\" indicates that the current region contains only white pixels.\n\nConsider
16
- the following 4 ![×]({{ images_dir }}/symbol_times.gif)4 image (colored marks denote
17
- places where a split can occur):\n\n ![]({{ images_dir }}/p_287_quadtree.gif)\n\nThis
18
- image can be described by several sequences, for example :<bp></bp>\r\" **0****
19
- 0 **10101010** 0 **1011111011** 0**10101010\", of length 30, or \n\r\" **0** 10
20
- **0** 101111101110\", of length 16, which is the minimal sequence for this image.\n\nFor
21
- a positive integer <var>N</var>, define <var>D<sub>N</sub></var> as the 2<sup><var>N</var></sup>
22
- ![×]({{ images_dir }}/symbol_times.gif)2<sup><var>N</var></sup> image with the following
23
- coloring scheme:\n\n- the pixel with coordinates <var>x</var> = 0, <var>y</var> = 0
24
- corresponds to the bottom left pixel,\n- if (<var>x</var> - 2<sup><var>N</var>-1</sup>)<sup>2</sup> + (<var>y</var> - 2<sup><var>N</var>-1</sup>)<sup>2</sup> 
25
- ![≤]({{ images_dir }}/symbol_le.gif) 2<sup>2<var>N</var>-2</sup> then the pixel
26
- is black,\n- otherwise the pixel is white.\n\nWhat is the length of the minimal
27
- sequence describing <var>D</var><sub>24</sub> ?\n\n"
4
+ :url: https://projecteuler.net/problem=287
5
+ :content: "The quadtree encoding allows us to describe a 2<sup><var>N</var></sup>×2<sup><var>N</var></sup>
6
+ black and white image as a sequence of bits (0 and 1). Those sequences are to be
7
+ read from left to right like this:\n\n- the first bit deals with the complete 2<sup><var>N</var></sup>×2<sup><var>N</var></sup>
8
+ region;\n- \"0\" denotes a split: \nthe current 2<sup><var>n</var></sup>×2<sup><var>n</var></sup>
9
+ region is divided into 4 sub-regions of dimension 2<sup><var>n</var>-1</sup>×2<sup><var>n</var>-1</sup>,
10
+ \ \nthe next bits contains the description of the top left, top right, bottom left
11
+ and bottom right sub-regions - in that order;\n- \"10\" indicates that the current
12
+ region contains only black pixels;\n- \"11\" indicates that the current region contains
13
+ only white pixels.\n\nConsider the following 4×4 image (colored marks denote places
14
+ where a split can occur):\n\n ![p287_quadtree.gif]({{ images_dir }}/p287_quadtree.gif)\n\nThis
15
+ image can be described by several sequences, for example : \" **0**** 0 **10101010**
16
+ 0 **1011111011** 0**10101010\", of length 30, or \n\" **0** 10 **0** 101111101110\",
17
+ of length 16, which is the minimal sequence for this image.\n\nFor a positive integer
18
+ <var>N</var>, define <var>D<sub>N</sub></var> as the 2<sup><var>N</var></sup>×2<sup><var>N</var></sup>
19
+ image with the following coloring scheme:\n\n- the pixel with coordinates <var>x</var> = 0,
20
+ <var>y</var> = 0 corresponds to the bottom left pixel,\n- if (<var>x</var> - 2<sup><var>N</var>-1</sup>)<sup>2</sup> + (<var>y</var> - 2<sup><var>N</var>-1</sup>)<sup>2</sup> ≤ 2<sup>2<var>N</var>-2</sup>
21
+ then the pixel is black,\n- otherwise the pixel is white.\n\nWhat is the length
22
+ of the minimal sequence describing <var>D</var><sub>24</sub> ?\n\n"
@@ -1,14 +1,13 @@
1
1
  ---
2
2
  :id: 288
3
3
  :name: An enormous factorial
4
- :url: http://projecteuler.net/problem=288
4
+ :url: https://projecteuler.net/problem=288
5
5
  :content: "For any prime <var>p</var> the number N(<var>p</var>,<var>q</var>) is defined
6
- by\rN(<var>p</var>,<var>q</var>) = ![∑]({{ images_dir }}/symbol_sum.gif)<sub><var>n</var>=0
7
- to <var>q</var></sub> T<sub><var>n</var></sub>\\*<var>p</var><sup><var>n</var></sup>
6
+ by N(<var>p</var>,<var>q</var>) = ∑<sub><var>n</var>=0 to <var>q</var></sub> T<sub><var>n</var></sub>\\*<var>p</var><sup><var>n</var></sup>
8
7
  \ \n with T<sub><var>n</var></sub> generated by the following random number generator:\n\nS<sub>0</sub>
9
- = 290797 \n\rS<sub><var>n</var>+1</sub> = S<sub><var>n</var></sub><sup>2</sup>
10
- mod 50515093 \n\rT<sub><var>n</var></sub> = S<sub><var>n</var></sub> mod <var>p</var>\n\nLet
8
+ = 290797 \nS<sub><var>n</var>+1</sub> = S<sub><var>n</var></sub><sup>2</sup> mod
9
+ 50515093 \nT<sub><var>n</var></sub> = S<sub><var>n</var></sub> mod <var>p</var>\n\nLet
11
10
  Nfac(<var>p</var>,<var>q</var>) be the factorial of N(<var>p</var>,<var>q</var>).
12
- \ \n\rLet NF(<var>p</var>,<var>q</var>) be the number of factors <var>p</var> in
13
- Nfac(<var>p</var>,<var>q</var>).\n\nYou are given that NF(3,10000) mod 3<sup>20</sup>=624955285.\n\nFind
14
- NF(61,10<sup>7</sup>) mod 61<sup>10</sup>\n\n"
11
+ \ \nLet NF(<var>p</var>,<var>q</var>) be the number of factors <var>p</var> in Nfac(<var>p</var>,<var>q</var>).\n\nYou
12
+ are given that NF(3,10000) mod 3<sup>20</sup>=624955285.\n\nFind NF(61,10<sup>7</sup>)
13
+ mod 61<sup>10</sup>\n\n"
@@ -1,18 +1,18 @@
1
1
  ---
2
2
  :id: 289
3
3
  :name: Eulerian Cycles
4
- :url: http://projecteuler.net/problem=289
4
+ :url: https://projecteuler.net/problem=289
5
5
  :content: "Let C(<var>x</var>,<var>y</var>) be a circle passing through the points
6
6
  (<var>x</var>, <var>y</var>), (<var>x</var>, <var>y</var>+1), (<var>x</var>+1, <var>y</var>)
7
7
  and (<var>x</var>+1, <var>y</var>+1).\n\nFor positive integers m and n, let E(<var>m</var>,<var>n</var>)
8
- be a configuration which consists of the <var>m</var>·<var>n</var> circles: \n\r{
9
- C(<var>x</var>,<var>y</var>): 0 ≤ <var>x</var> m, 0 ≤ <var>y</var> n, <var>x</var>
10
- and <var>y</var> are integers }\n\nAn Eulerian cycle on E(<var>m</var>,<var>n</var>)
11
- is a closed path that passes through each arc exactly once. \n\rMany such paths
12
- are possible on E(<var>m</var>,<var>n</var>), but we are only interested in those
13
- which are not self-crossing: \rA non-crossing path just touches itself at lattice
14
- points, but it never crosses itself.\n\nThe image below shows E(3,3) and an example
15
- of an Eulerian non-crossing path.\n\n ![]({{ images_dir }}/p_289_euler.gif)\n\nLet
8
+ be a configuration which consists of the <var>m</var>·<var>n</var> circles: \n{
9
+ C(<var>x</var>,<var>y</var>): 0 ≤ <var>x</var> \\< <var>m</var>, 0 ≤ <var>y</var> \\< <var>n</var>,
10
+ <var>x</var> and <var>y</var> are integers }\n\nAn Eulerian cycle on E(<var>m</var>,<var>n</var>)
11
+ is a closed path that passes through each arc exactly once. \nMany such paths are
12
+ possible on E(<var>m</var>,<var>n</var>), but we are only interested in those which
13
+ are not self-crossing: A non-crossing path just touches itself at lattice points,
14
+ but it never crosses itself.\n\nThe image below shows E(3,3) and an example of an
15
+ Eulerian non-crossing path.\n\n ![p289_euler.gif]({{ images_dir }}/p289_euler.gif)\n\nLet
16
16
  L(<var>m</var>,<var>n</var>) be the number of Eulerian non-crossing paths on E(<var>m</var>,<var>n</var>).
17
- \ \n\rFor example, L(1,2) = 2, L(2,2) = 37 and L(3,3) = 104290.\n\nFind L(6,10)
18
- mod 10<sup>10</sup>.\n\n"
17
+ \ \nFor example, L(1,2) = 2, L(2,2) = 37 and L(3,3) = 104290.\n\nFind L(6,10) mod
18
+ 10<sup>10</sup>.\n\n"
data/data/problems/29.yml CHANGED
@@ -1,16 +1,13 @@
1
1
  ---
2
2
  :id: 29
3
3
  :name: Distinct powers
4
- :url: http://projecteuler.net/problem=29
5
- :content: "Consider all integer combinations of _a_<sup><i>b</i></sup> for 2 ![]({{
6
- images_dir }}/symbol_le.gif) _a_ ![]({{ images_dir }}/symbol_le.gif) 5 and 2 ![≤]({{
7
- images_dir }}/symbol_le.gif) _b_ ![≤]({{ images_dir }}/symbol_le.gif) 5:\n\n> 2<sup>2</sup>=4,
8
- 2<sup>3</sup>=8, 2<sup>4</sup>=16, 2<sup>5</sup>=32 \n> 3<sup>2</sup>=9, 3<sup>3</sup>=27,
9
- 3<sup>4</sup>=81, 3<sup>5</sup>=243 \n> 4<sup>2</sup>=16, 4<sup>3</sup>=64, 4<sup>4</sup>=256,
10
- 4<sup>5</sup>=1024 \n> 5<sup>2</sup>=25, 5<sup>3</sup>=125, 5<sup>4</sup>=625,
11
- 5<sup>5</sup>=3125\n\nIf they are then placed in numerical order, with any repeats
12
- removed, we get the following sequence of 15 distinct terms:\n\n4, 8, 9, 16, 25,
13
- 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125\n\nHow many distinct terms are in
14
- the sequence generated by _a_<sup><i>b</i></sup> for 2 ![≤]({{ images_dir }}/symbol_le.gif)
15
- _a_ ![≤]({{ images_dir }}/symbol_le.gif) 100 and 2 ![≤]({{ images_dir }}/symbol_le.gif)
16
- _b_ ![≤]({{ images_dir }}/symbol_le.gif) 100?\n\n"
4
+ :url: https://projecteuler.net/problem=29
5
+ :content: "Consider all integer combinations of _a_<sup><i>b</i></sup> for 2 ≤ _a_
6
+ 5 and 2 _b_ 5:\n\n> 2<sup>2</sup>=4, 2<sup>3</sup>=8, 2<sup>4</sup>=16, 2<sup>5</sup>=32
7
+ \ \n> 3<sup>2</sup>=9, 3<sup>3</sup>=27, 3<sup>4</sup>=81, 3<sup>5</sup>=243 \n>
8
+ 4<sup>2</sup>=16, 4<sup>3</sup>=64, 4<sup>4</sup>=256, 4<sup>5</sup>=1024 \n> 5<sup>2</sup>=25,
9
+ 5<sup>3</sup>=125, 5<sup>4</sup>=625, 5<sup>5</sup>=3125\n\nIf they are then placed
10
+ in numerical order, with any repeats removed, we get the following sequence of 15
11
+ distinct terms:\n\n4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125\n\nHow
12
+ many distinct terms are in the sequence generated by _a_<sup><i>b</i></sup> for
13
+ 2 _a_ 100 and 2 _b_ ≤ 100?\n\n"
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  :id: 290
3
3
  :name: Digital Signature
4
- :url: http://projecteuler.net/problem=290
5
- :content: |+
6
- How many integers 0 ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var> &lt 10<sup>18</sup> have the property that the sum of the digits of <var>n</var> equals the sum of digits of 137<var>n</var>?
7
-
4
+ :url: https://projecteuler.net/problem=290
5
+ :content: "How many integers 0 ≤ <var>n</var> \\< 10<sup>18</sup> have the property
6
+ that the sum of the digits of <var>n</var> equals the sum of digits of 137<var>n</var>?\n\n"
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  :id: 291
3
3
  :name: Panaitopol Primes
4
- :url: http://projecteuler.net/problem=291
5
- :content: "A prime number <var>p</var> is called a Panaitopol prime if ![]({{ images_dir
6
- }}/p_291_formula.gif) for some positive integers \n <var>x</var> and <var>y</var>.\n\nFind
7
- how many Panaitopol primes are less than 5 ![×]({{ images_dir }}/symbol_times.gif)10<sup>15</sup>.\n\n"
4
+ :url: https://projecteuler.net/problem=291
5
+ :content: "A prime number <var>p</var> is called a Panaitopol prime if ![p291_formula.gif]({{
6
+ images_dir }}/p291_formula.gif) for some positive integers \n<var>x</var> and <var>y</var>.\n\nFind
7
+ how many Panaitopol primes are less than 5×10<sup>15</sup>.\n\n"
@@ -1,12 +1,11 @@
1
1
  ---
2
2
  :id: 292
3
3
  :name: Pythagorean Polygons
4
- :url: http://projecteuler.net/problem=292
4
+ :url: https://projecteuler.net/problem=292
5
5
  :content: "We shall define a _pythagorean polygon_ to be a **convex polygon** with
6
6
  the following properties:\n\n- there are at least three vertices,\n- no three vertices
7
7
  are aligned,\n- each vertex has **integer coordinates** ,\n- each edge has **integer
8
- length** .\n\nFor a given integer <var>n</var>, define P(<var>n</var>) as the number
9
- of distinct pythagorean polygons for which the perimeter is ![]({{ images_dir }}/symbol_le.gif) <var>n</var>.
10
- \ \n\rPythagorean polygons should be considered distinct as long as none is a translation
11
- of another.\n\nYou are given that P(4) = 1, P(30) = 3655 and P(60) = 891045. \n\rFind
12
- P(120).\n\n"
8
+ length**.\n\nFor a given integer <var>n</var>, define P(<var>n</var>) as the number
9
+ of distinct pythagorean polygons for which the perimeter is ≤ <var>n</var>. \nPythagorean
10
+ polygons should be considered distinct as long as none is a translation of another.\n\nYou
11
+ are given that P(4) = 1, P(30) = 3655 and P(60) = 891045. \nFind P(120).\n\n"
@@ -1,14 +1,13 @@
1
1
  ---
2
2
  :id: 293
3
3
  :name: Pseudo-Fortunate Numbers
4
- :url: http://projecteuler.net/problem=293
4
+ :url: https://projecteuler.net/problem=293
5
5
  :content: "An even positive integer N will be called admissible, if it is a power
6
- of 2 or its distinct prime factors are consecutive primes. \n\rThe first twelve
7
- admissible numbers are 2,4,6,8,12,16,18,24,30,32,36,48.\n\nIf N is admissible, the
8
- smallest integer M ![>]({{ images_dir }}/symbol_gt.gif) 1 such that N+M is prime,
9
- will be called the pseudo-Fortunate number for N.\n\nFor example, N=630 is admissible
10
- since it is even and its distinct prime factors are the consecutive primes 2,3,5
11
- and 7. \n \rThe next prime number after 631 is 641; hence, the pseudo-Fortunate
12
- number for 630 is M=11. \n\rIt can also be seen that the pseudo-Fortunate number
13
- for 16 is 3.\n\nFind the sum of all distinct pseudo-Fortunate numbers for admissible
14
- numbers N less than 10<sup>9</sup>.\n\n"
6
+ of 2 or its distinct prime factors are consecutive primes. \nThe first twelve admissible
7
+ numbers are 2,4,6,8,12,16,18,24,30,32,36,48.\n\nIf N is admissible, the smallest
8
+ integer M \\> 1 such that N+M is prime, will be called the pseudo-Fortunate number
9
+ for N.\n\nFor example, N=630 is admissible since it is even and its distinct prime
10
+ factors are the consecutive primes 2,3,5 and 7. \n The next prime number after
11
+ 631 is 641; hence, the pseudo-Fortunate number for 630 is M=11. \nIt can also be
12
+ seen that the pseudo-Fortunate number for 16 is 3.\n\nFind the sum of all distinct
13
+ pseudo-Fortunate numbers for admissible numbers N less than 10<sup>9</sup>.\n\n"
@@ -1,10 +1,15 @@
1
1
  ---
2
2
  :id: 294
3
3
  :name: 'Sum of digits - experience #23'
4
- :url: http://projecteuler.net/problem=294
5
- :content: "For a positive integer k, define d(k) as the sum of the digits of k in
6
- its usual decimal representation.\rThus d(42) = 4+2 = 6.\n\nFor a positive integer
7
- n, define S(n) as the number of positive integers k n with the following properties
8
- :\n\n- k is divisible by 23 and\r\n- d(k) = 23.\r\n\r\rYou are given that S(9) =
9
- 263626 and S(42) = 6377168878570056.\r\r\n\nFind S(11<sup>12</sup>) and give your
10
- answer mod 10<sup>9</sup>.\n\n"
4
+ :url: https://projecteuler.net/problem=294
5
+ :content: |+
6
+ For a positive integer k, define d(k) as the sum of the digits of k in its usual decimal representation. Thus d(42) = 4+2 = 6.
7
+
8
+ For a positive integer n, define S(n) as the number of positive integers k \< 10<sup>n</sup> with the following properties :
9
+
10
+ - k is divisible by 23 and
11
+ - d(k) = 23.
12
+ You are given that S(9) = 263626 and S(42) = 6377168878570056.
13
+
14
+ Find S(11<sup>12</sup>) and give your answer mod 10<sup>9</sup>.
15
+
@@ -1,21 +1,19 @@
1
1
  ---
2
2
  :id: 295
3
3
  :name: Lenticular holes
4
- :url: http://projecteuler.net/problem=295
4
+ :url: https://projecteuler.net/problem=295
5
5
  :content: "We call the convex area enclosed by two circles a _lenticular hole_ if:\n\n-
6
6
  The centres of both circles are on lattice points.\n- The two circles intersect
7
7
  at two distinct lattice points.\n- The interior of the convex area enclosed by both
8
- circles does not contain any lattice points.\r\n\nConsider the circles: \n\rC<sub>0</sub>:
9
- <var>x</var><sup>2</sup>+<var>y</var><sup>2</sup>=25 \n\rC<sub>1</sub>: (<var>x</var>+4)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=1
10
- \ \n\rC<sub>2</sub>: (<var>x</var>-12)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=65\n\nThe
8
+ circles does not contain any lattice points.\n\nConsider the circles: \nC<sub>0</sub>:
9
+ <var>x</var><sup>2</sup>+<var>y</var><sup>2</sup>=25 \nC<sub>1</sub>: (<var>x</var>+4)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=1
10
+ \ \nC<sub>2</sub>: (<var>x</var>-12)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=65\n\nThe
11
11
  circles C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> are drawn in the picture
12
- below.\n\n ![]({{ images_dir }}/p295_lenticular.gif)\n\nC<sub>0</sub> and C<sub>1</sub>
13
- form a lenticular hole, as well as C<sub>0</sub> and C<sub>2</sub>.\n\nWe call an
14
- ordered pair of positive real numbers (r<sub>1</sub>, r<sub>2</sub>) a _lenticular
12
+ below.\n\n ![p295_lenticular.gif]({{ images_dir }}/p295_lenticular.gif)\n\nC<sub>0</sub>
13
+ and C<sub>1</sub> form a lenticular hole, as well as C<sub>0</sub> and C<sub>2</sub>.\n\nWe
14
+ call an ordered pair of positive real numbers (r<sub>1</sub>, r<sub>2</sub>) a _lenticular
15
15
  pair_ if there exist two circles with radii r<sub>1</sub> and r<sub>2</sub> that
16
- form a lenticular hole.\rWe can verify that (1, 5) and (5, ![]({{ images_dir }}/symbol_radic.gif)65)
17
- are the lenticular pairs of the example above.\n\nLet L(N) be the number of **distinct**
18
- lenticular pairs (r<sub>1</sub>, r<sub>2</sub>) for which 0 ![<]({{ images_dir }}/symbol_lt.gif)
19
- r<sub>1</sub> ![≤]({{ images_dir }}/symbol_le.gif) r<sub>2</sub> ![≤]({{ images_dir
20
- }}/symbol_le.gif) N. \n\rWe can verify that L(10) = 30 and L(100) = 3442.\n\nFind
21
- L(100 000).\n\n"
16
+ form a lenticular hole. We can verify that (1, 5) and (5, √65) are the lenticular
17
+ pairs of the example above.\n\nLet L(N) be the number of **distinct** lenticular
18
+ pairs (r<sub>1</sub>, r<sub>2</sub>) for which 0 \\< r<sub>1</sub> r<sub>2</sub>
19
+ N. \nWe can verify that L(10) = 30 and L(100) = 3442.\n\nFind L(100 000).\n\n"
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  :id: 296
3
3
  :name: Angular Bisector and Tangent
4
- :url: http://projecteuler.net/problem=296
5
- :content: "Given is an integer sided triangle <var>ABC</var> with <var>BC</var> ![]({{
6
- images_dir }}/symbol_le.gif) <var>AC</var> ![]({{ images_dir }}/symbol_le.gif)
7
- <var>AB</var>. \n<var>k</var> is the angular bisector of angle <var>ACB</var>.
8
- \ \n <var>m</var> is the tangent at <var>C</var> to the circumscribed circle of
9
- <var>ABC</var>. \n <var>n</var> is a line parallel to <var>m</var> through <var>B</var>.
10
- \ \n\rThe intersection of <var>n</var> and <var>k</var> is called <var>E</var>.\n\n
11
- ![]({{ images_dir }}/p296_bisector.gif)\n\nHow many triangles <var>ABC</var> with
12
- a perimeter not exceeding 100 000 exist such that <var>BE</var> has integral length?\n\n"
4
+ :url: https://projecteuler.net/problem=296
5
+ :content: "Given is an integer sided triangle <var>ABC</var> with <var>BC</var> ≤
6
+ <var>AC</var> ≤ <var>AB</var>. \n<var>k</var> is the angular bisector of angle
7
+ <var>ACB</var>. \n<var>m</var> is the tangent at <var>C</var> to the circumscribed
8
+ circle of <var>ABC</var>. \n<var>n</var> is a line parallel to <var>m</var> through
9
+ <var>B</var>. \nThe intersection of <var>n</var> and <var>k</var> is called <var>E</var>.\n\n
10
+ ![p296_bisector.gif]({{ images_dir }}/p296_bisector.gif)\n\nHow many triangles <var>ABC</var>
11
+ with a perimeter not exceeding 100 000 exist such that <var>BE</var> has integral
12
+ length?\n\n"
@@ -1,15 +1,13 @@
1
1
  ---
2
2
  :id: 297
3
3
  :name: Zeckendorf Representation
4
- :url: http://projecteuler.net/problem=297
4
+ :url: https://projecteuler.net/problem=297
5
5
  :content: "Each new term in the Fibonacci sequence is generated by adding the previous
6
- two terms. \n\rStarting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8,
6
+ two terms. \nStarting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8,
7
7
  13, 21, 34, 55, 89.\n\nEvery positive integer can be uniquely written as a sum of
8
- nonconsecutive terms of the Fibonacci sequence. For example, 100 = 3 + 8 + 89. \n\rSuch
8
+ nonconsecutive terms of the Fibonacci sequence. For example, 100 = 3 + 8 + 89. \nSuch
9
9
  a sum is called the **Zeckendorf representation** of the number.\n\nFor any integer
10
- <var>n</var>>0, let <var>z</var>(<var>n</var>) be the number of terms in the Zeckendorf
11
- representation of <var>n</var>. \n\rThus, <var>z</var>(5) = 1, <var>z</var>(14) = 2,
12
- <var>z</var>(100) = 3 etc. \n\rAlso, for 0 ![<]({{ images_dir }}/symbol_lt.gif)<var>n</var>
13
- ![<]({{ images_dir }}/symbol_lt.gif)10<sup>6</sup>, ∑ <var>z</var>(<var>n</var>) = 7894453.\n\nFind
14
- ∑ <var>z</var>(<var>n</var>) for 0 ![<]({{ images_dir }}/symbol_lt.gif)<var>n</var>
15
- ![<]({{ images_dir }}/symbol_lt.gif)10<sup>17</sup>.\n\n"
10
+ <var>n</var>\\>0, let <var>z</var>(<var>n</var>) be the number of terms in the Zeckendorf
11
+ representation of <var>n</var>. \nThus, <var>z</var>(5) = 1, <var>z</var>(14) = 2,
12
+ <var>z</var>(100) = 3 etc. \nAlso, for 0\\<<var>n</var>\\<10<sup>6</sup>, ∑ <var>z</var>(<var>n</var>) = 7894453.\n\nFind
13
+ ∑ <var>z</var>(<var>n</var>) for 0\\<<var>n</var>\\<10<sup>17</sup>.\n\n"
@@ -1,46 +1,38 @@
1
1
  ---
2
2
  :id: 298
3
3
  :name: Selective Amnesia
4
- :url: http://projecteuler.net/problem=298
5
- :content: "<style type=\"text/css\"><![CDATA[\r\ntable.p298, table.p298 th, table.p298
6
- td {\r\n border-width: 1px 1px 1px 1px;\r\n border-style: solid solid solid solid;\r\n
7
- \ border-color: black black black black;\r\n text-align:center;\r\n -moz-border-radius:
8
- 0px 0px 0px 0px;\r\n}\r\ntable.p298 {\r\n border-spacing: 1px;\r\n border-collapse:
9
- separate;\r\n background-color: rgb(255,255,255);\r\n}\r\ntable.p298 th, table.p298
10
- td {\r\n padding: 1px 6px 1px 6px;\r\n}\r\ntable.p298 th { background-color: rgb(200,220,250);
11
- }\r\ntable.p298 td { background-color: rgb(255,255,255); }\r\n]]></style>\n\nLarry
12
- and Robin play a memory game involving of a sequence of random numbers between 1
13
- and 10, inclusive, that are called out one at a time. Each player can remember up
14
- to 5 previous numbers. When the called number is in a player's memory, that player
15
- is awarded a point. If it's not, the player adds the called number to his memory,
16
- removing another number if his memory is full.\n\nBoth players start with empty
17
- memories. Both players always add new missed numbers to their memory but use a different
18
- strategy in deciding which number to remove: \n\rLarry's strategy is to remove
19
- the number that hasn't been called in the longest time. \n\rRobin's strategy is
20
- to remove the number that's been in the memory the longest time.\n\nExample game:\n\n<center><table
21
- class=\"p298\">\r\n<tr>\r\n <th>Turn</th>\r\n <th>Called<br>number</th>\r\n <th
22
- style=\"text-align:right\">Larry's<br>memory</th>\r\n <th>Larry's<br>score</th>\r\n
23
- \ <th style=\"text-align:right\">Robin's<br>memory</th>\r\n <th>Robin's<br>score</th>\r\n</tr>\r\n<tr>\r\n
24
- \ <td>1</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n
25
- \ <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n <td>2</td>\r\n
26
- \ <td>2</td>\r\n <td style=\"text-align:right\">1,2</td>\r\n <td>0</td>\r\n <td
27
- style=\"text-align:right\">1,2</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n <td>3</td>\r\n
28
- \ <td>4</td>\r\n <td style=\"text-align:right\">1,2,4</td>\r\n <td>0</td>\r\n
29
- \ <td style=\"text-align:right\">1,2,4</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n
30
- \ <td>4</td>\r\n <td>6</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n
31
- \ <td>0</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n</tr>\r\n<tr>\r\n
32
- \ <td>5</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n
33
- \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
34
- \ <td>6</td>\r\n <td>8</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n
35
- \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
36
- \ <td>7</td>\r\n <td>10</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n
37
- \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>1</td>\r\n</tr>\r\n<tr>\r\n
38
- \ <td>8</td>\r\n <td>2</td>\r\n <td style=\"text-align:right\">1,2,6,8,10</td>\r\n
39
- \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>2</td>\r\n</tr>\r\n<tr>\r\n
40
- \ <td>9</td>\r\n <td>4</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n
41
- \ <td>1</td>\r\n <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\r\n<tr>\r\n
42
- \ <td>10</td>\r\n <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n
43
- \ <td>2</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n</table></center>\n\nDenoting
4
+ :url: https://projecteuler.net/problem=298
5
+ :content: "Larry and Robin play a memory game involving of a sequence of random numbers
6
+ between 1 and 10, inclusive, that are called out one at a time. Each player can
7
+ remember up to 5 previous numbers. When the called number is in a player's memory,
8
+ that player is awarded a point. If it's not, the player adds the called number to
9
+ his memory, removing another number if his memory is full.\n\nBoth players start
10
+ with empty memories. Both players always add new missed numbers to their memory
11
+ but use a different strategy in deciding which number to remove: \nLarry's strategy
12
+ is to remove the number that hasn't been called in the longest time. \nRobin's
13
+ strategy is to remove the number that's been in the memory the longest time.\n\nExample
14
+ game:\n\n<center><table class=\"p298\">\n<tr>\n<th>Turn</th>\n <th>Called<br>number</th>\n
15
+ \ <th style=\"text-align:right;\">Larry's<br>memory</th>\n <th>Larry's<br>score</th>\n
16
+ \ <th style=\"text-align:right;\">Robin's<br>memory</th>\n <th>Robin's<br>score</th>\n</tr>\n<tr>\n<td>1</td>\n
17
+ \ <td>1</td>\n <td style=\"text-align:right;\">1</td>\n <td>0</td>\n <td style=\"text-align:right;\">1</td>\n
18
+ \ <td>0</td>\n</tr>\n<tr>\n<td>2</td>\n <td>2</td>\n <td style=\"text-align:right;\">1,2</td>\n
19
+ \ <td>0</td>\n <td style=\"text-align:right;\">1,2</td>\n <td>0</td>\n</tr>\n<tr>\n<td>3</td>\n
20
+ \ <td>4</td>\n <td style=\"text-align:right;\">1,2,4</td>\n <td>0</td>\n <td
21
+ style=\"text-align:right;\">1,2,4</td>\n <td>0</td>\n</tr>\n<tr>\n<td>4</td>\n
22
+ \ <td>6</td>\n <td style=\"text-align:right;\">1,2,4,6</td>\n <td>0</td>\n <td
23
+ style=\"text-align:right;\">1,2,4,6</td>\n <td>0</td>\n</tr>\n<tr>\n<td>5</td>\n
24
+ \ <td>1</td>\n <td style=\"text-align:right;\">1,2,4,6</td>\n <td>1</td>\n <td
25
+ style=\"text-align:right;\">1,2,4,6</td>\n <td>1</td>\n</tr>\n<tr>\n<td>6</td>\n
26
+ \ <td>8</td>\n <td style=\"text-align:right;\">1,2,4,6,8</td>\n <td>1</td>\n <td
27
+ style=\"text-align:right;\">1,2,4,6,8</td>\n <td>1</td>\n</tr>\n<tr>\n<td>7</td>\n
28
+ \ <td>10</td>\n <td style=\"text-align:right;\">1,4,6,8,10</td>\n <td>1</td>\n
29
+ \ <td style=\"text-align:right;\">2,4,6,8,10</td>\n <td>1</td>\n</tr>\n<tr>\n<td>8</td>\n
30
+ \ <td>2</td>\n <td style=\"text-align:right;\">1,2,6,8,10</td>\n <td>1</td>\n
31
+ \ <td style=\"text-align:right;\">2,4,6,8,10</td>\n <td>2</td>\n</tr>\n<tr>\n<td>9</td>\n
32
+ \ <td>4</td>\n <td style=\"text-align:right;\">1,2,4,8,10</td>\n <td>1</td>\n
33
+ \ <td style=\"text-align:right;\">2,4,6,8,10</td>\n <td>3</td>\n</tr>\n<tr>\n<td>10</td>\n
34
+ \ <td>1</td>\n <td style=\"text-align:right;\">1,2,4,8,10</td>\n <td>2</td>\n
35
+ \ <td style=\"text-align:right;\">1,4,6,8,10</td>\n <td>3</td>\n</tr>\n</table></center>\n\nDenoting
44
36
  Larry's score by <var>L</var> and Robin's score by <var>R</var>, what is the expected
45
37
  value of |<var>L</var>-<var>R</var>| after 50 turns? Give your answer rounded to
46
38
  eight decimal places using the format x.xxxxxxxx .\n\n"
@@ -1,24 +1,22 @@
1
1
  ---
2
2
  :id: 299
3
3
  :name: Three similar triangles
4
- :url: http://projecteuler.net/problem=299
5
- :content: "Four points with integer coordinates are selected: \nA(<var>a</var>, 0),
6
- B(<var>b</var>, 0), C(0, <var>c</var>) and D(0, <var>d</var>), \rwith 0  ![<]({{
7
- images_dir }}/symbol_lt.gif) <var>a</var>  ![<]({{ images_dir }}/symbol_lt.gif) <var>b</var>
8
- and 0  ![<]({{ images_dir }}/symbol_lt.gif) <var>c</var>  ![<]({{ images_dir }}/symbol_lt.gif) <var>d</var>.
9
- \ \n\rPoint P, also with integer coordinates, is chosen on the line AC so that the
4
+ :url: https://projecteuler.net/problem=299
5
+ :content: "Four points with integer coordinates are selected: \nA(<var>a</var>,&nbsp;0),
6
+ B(<var>b</var>,&nbsp;0), C(0,&nbsp;<var>c</var>) and D(0,&nbsp;<var>d</var>), with
7
+ 0&nbsp;\\<&nbsp;<var>a</var>&nbsp;\\<&nbsp;<var>b</var> and 0&nbsp;\\<&nbsp;<var>c</var>&nbsp;\\<&nbsp;<var>d</var>.
8
+ \ \nPoint P, also with integer coordinates, is chosen on the line AC so that the
10
9
  three triangles ABP, CDP and BDP are all <dfn title=\"Have equal angles\">similar</dfn>.\n\n
11
- ![]({{ images_dir }}/p_299_ThreeSimTri.gif)\n\nIt is easy to prove that the three
12
- triangles can be similar, only if <var>a</var>=<var>c</var>.\n\nSo, given that <var>a</var>=<var>c</var>,
13
- we are looking for triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that at
14
- least one point P (with integer coordinates) exists on AC, making the three triangles
15
- ABP, CDP and BDP all similar.\n\nFor example, if (<var>a</var>,<var>b</var>,<var>d</var>)=(2,3,4),
16
- it can be easily verified that point P(1,1) satisfies the above condition. \rNote
10
+ ![p299_ThreeSimTri.gif]({{ images_dir }}/p299_ThreeSimTri.gif)\n\nIt is easy to
11
+ prove that the three triangles can be similar, only if <var>a</var>=<var>c</var>.\n\nSo,
12
+ given that <var>a</var>=<var>c</var>, we are looking for triplets (<var>a</var>,<var>b</var>,<var>d</var>)
13
+ such that at least one point P (with integer coordinates) exists on AC, making the
14
+ three triangles ABP, CDP and BDP all similar.\n\nFor example, if (<var>a</var>,<var>b</var>,<var>d</var>)=(2,3,4),
15
+ it can be easily verified that point P(1,1) satisfies the above condition. Note
17
16
  that the triplets (2,3,4) and (2,4,3) are considered as distinct, although point
18
- P(1,1) is common for both.\n\nIf <var>b</var>+<var>d</var>  ![<]({{ images_dir }}/symbol_lt.gif) 100,
19
- there are 92 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that
20
- point P exists. \n\rIf <var>b</var>+<var>d</var>  ![<]({{ images_dir }}/symbol_lt.gif) 100
21
- 000, there are 320471 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>)
22
- such that point P exists.\n\nIf <var>b</var>+<var>d</var>  ![<]({{ images_dir }}/symbol_lt.gif) 100
23
- 000 000, how many distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) are
24
- there such that point P exists?\n\n"
17
+ P(1,1) is common for both.\n\nIf <var>b</var>+<var>d</var>&nbsp;\\<&nbsp;100, there
18
+ are 92 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that point
19
+ P exists. \nIf <var>b</var>+<var>d</var>&nbsp;\\<&nbsp;100 000, there are 320471
20
+ distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that point P exists.\n\nIf
21
+ <var>b</var>+<var>d</var>&nbsp;\\<&nbsp;100 000 000, how many distinct triplets
22
+ (<var>a</var>,<var>b</var>,<var>d</var>) are there such that point P exists?\n\n"