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,10 +1,15 @@
1
1
  ---
2
2
  :id: 409
3
3
  :name: Nim Extreme
4
- :url: http://projecteuler.net/problem=409
5
- :content: "Let <var>n</var> be a positive integer. Consider **nim** positions where:\n\n-
6
- There are <var>n</var> non-empty piles.\r\n- Each pile has size less than 2<sup><var>n</var></sup>.\r\n-
7
- No two piles have the same size.\r\n\nLet W(<var>n</var>) be the number of winning
8
- nim positions satisfying the above\rconditions (a position is winning if the first
9
- player has a winning strategy). For example, W(1) = 1, W(2) = 6, W(3) = 168, W(5)
10
- = 19764360 and W(100) mod 1 000 000 007 = 384777056.\n\nFind W(10 000 000) mod 1 000 000 007.\n\n"
4
+ :url: https://projecteuler.net/problem=409
5
+ :content: |+
6
+ Let <var>n</var> be a positive integer. Consider **nim** positions where:
7
+
8
+ - There are <var>n</var> non-empty piles.
9
+ - Each pile has size less than 2<sup><var>n</var></sup>.
10
+ - No two piles have the same size.
11
+
12
+ Let W(<var>n</var>) be the number of winning nim positions satisfying the above conditions (a position is winning if the first player has a winning strategy). For example, W(1) = 1, W(2) = 6, W(3) = 168, W(5) = 19764360 and W(100) mod 1&nbsp;000&nbsp;000&nbsp;007 = 384777056.
13
+
14
+ Find W(10&nbsp;000&nbsp;000) mod 1&nbsp;000&nbsp;000&nbsp;007.
15
+
data/data/problems/41.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  :id: 41
3
3
  :name: Pandigital prime
4
- :url: http://projecteuler.net/problem=41
4
+ :url: https://projecteuler.net/problem=41
5
5
  :content: |+
6
6
  We shall say that an _n_-digit number is pandigital if it makes use of all the digits 1 to _n_ exactly once. For example, 2143 is a 4-digit pandigital and is also prime.
7
7
 
@@ -1,15 +1,14 @@
1
1
  ---
2
2
  :id: 410
3
3
  :name: Circle and tangent line
4
- :url: http://projecteuler.net/problem=410
4
+ :url: https://projecteuler.net/problem=410
5
5
  :content: "Let C be the circle with radius <var>r</var>, <var>x</var><sup>2</sup>
6
6
  + <var>y</var><sup>2</sup> = <var>r</var><sup>2</sup>. We choose two points P(<var>a</var>,
7
7
  <var>b</var>) and Q(-<var>a</var>, <var>c</var>) so that the line passing through
8
8
  P and Q is tangent to C.\n\nFor example, the quadruplet (<var>r</var>, <var>a</var>,
9
9
  <var>b</var>, <var>c</var>) = (2, 6, 2, -7) satisfies this property.\n\nLet F(<var>R</var>,
10
10
  <var>X</var>) be the number of the integer quadruplets (<var>r</var>, <var>a</var>,
11
- <var>b</var>, <var>c</var>) with this property, and with 0 ![<]({{ images_dir }}/symbol_lt.gif)
12
- <var>r</var> ![]({{ images_dir }}/symbol_le.gif) <var>R</var> and 0 ![<]({{ images_dir
13
- }}/symbol_lt.gif) <var>a</var> ![≤]({{ images_dir }}/symbol_le.gif) <var>X</var>.\n\nWe
14
- can verify that F(1, 5) = 10, F(2, 10) = 52 and F(10, 100) = 3384. \n\rFind F(10<sup>8</sup>,
15
- 10<sup>9</sup>) + F(10<sup>9</sup>, 10<sup>8</sup>).\n\n"
11
+ <var>b</var>, <var>c</var>) with this property, and with 0 \\< <var>r</var> <var>R</var>
12
+ and 0 \\< <var>a</var> ≤ <var>X</var>.\n\nWe can verify that F(1, 5) = 10, F(2,
13
+ 10) = 52 and F(10, 100) = 3384. \nFind F(10<sup>8</sup>, 10<sup>9</sup>) + F(10<sup>9</sup>,
14
+ 10<sup>8</sup>).\n\n"
@@ -1,18 +1,15 @@
1
1
  ---
2
2
  :id: 411
3
3
  :name: Uphill paths
4
- :url: http://projecteuler.net/problem=411
4
+ :url: https://projecteuler.net/problem=411
5
5
  :content: "Let <var>n</var> be a positive integer. Suppose there are stations at the
6
6
  coordinates (<var>x</var>, <var>y</var>) = (2<sup><var>i</var></sup> mod <var>n</var>,
7
- 3<sup><var>i</var></sup> mod <var>n</var>) for 0 ![]({{ images_dir }}/symbol_le.gif)
8
- <var>i</var> ![≤]({{ images_dir }}/symbol_le.gif) 2<var>n</var>. We will consider
9
- stations with the same coordinates as the same station.\n\nWe wish to form a path
10
- from (0, 0) to (<var>n</var>, <var>n</var>) such that the x and y coordinates never
11
- decrease. \n\rLet S(<var>n</var>) be the maximum number of stations such a path
12
- can pass through.\n\nFor example, if <var>n</var> = 22, there are 11 distinct stations,
13
- and a valid path can pass through at most 5 stations. Therefore, S(22) = 5.\rThe
14
- case is illustrated below, with an example of an optimal path:\n\n![]({{ images_dir
15
- }}/p411_longpath.png)\n\nIt can also be verified that S(123) = 14 and S(10000) =
16
- 48.\n\nFind ![∑]({{ images_dir }}/symbol_sum.gif) S(<var>k</var><sup>5</sup>) for
17
- 1 ![≤]({{ images_dir }}/symbol_le.gif) <var>k</var> ![≤]({{ images_dir }}/symbol_le.gif)
18
- 30.\n\n"
7
+ 3<sup><var>i</var></sup> mod <var>n</var>) for 0 ≤ <var>i</var> ≤ 2<var>n</var>.
8
+ We will consider stations with the same coordinates as the same station.\n\nWe wish
9
+ to form a path from (0, 0) to (<var>n</var>, <var>n</var>) such that the x and y
10
+ coordinates never decrease. \nLet S(<var>n</var>) be the maximum number of stations
11
+ such a path can pass through.\n\nFor example, if <var>n</var> = 22, there are 11
12
+ distinct stations, and a valid path can pass through at most 5 stations. Therefore,
13
+ S(22) = 5. The case is illustrated below, with an example of an optimal path:\n\n![p411_longpath.png]({{
14
+ images_dir }}/p411_longpath.png)\n\nIt can also be verified that S(123) = 14 and
15
+ S(10000) = 48.\n\nFind S(<var>k</var><sup>5</sup>) for 1 <var>k</var> ≤ 30.\n\n"
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  :id: 412
3
3
  :name: Gnomon numbering
4
- :url: http://projecteuler.net/problem=412
5
- :content: "For integers <var>m</var>, <var>n</var> (0  ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var> m),
6
- let L(<var>m</var>, <var>n</var>) be an <var>m</var> ![×]({{ images_dir }}/symbol_times.gif)<var>m</var>
7
- grid with the top-right <var>n</var> ![×]({{ images_dir }}/symbol_times.gif)<var>n</var>
8
- grid removed.\n\nFor example, L(5, 3) looks like this:\n\n![]({{ images_dir }}/p412_table53.png)\n\nWe
9
- want to number each cell of L(<var>m</var>, <var>n</var>) with consecutive integers
4
+ :url: https://projecteuler.net/problem=412
5
+ :content: "For integers <var>m</var>, <var>n</var> (0&nbsp;≤&nbsp;<var>n</var>&nbsp;\\<&nbsp;<var>m</var>),
6
+ let L(<var>m</var>,&nbsp;<var>n</var>) be an <var>m</var>×<var>m</var> grid with
7
+ the top-right <var>n</var>×<var>n</var> grid removed.\n\nFor example, L(5, 3) looks
8
+ like this:\n\n![p412_table53.png]({{ images_dir }}/p412_table53.png)\n\nWe want
9
+ to number each cell of L(<var>m</var>,&nbsp;<var>n</var>) with consecutive integers
10
10
  1, 2, 3, ... such that the number in every cell is smaller than the number below
11
- it and to the left of it.\n\nFor example, here are two valid numberings of L(53):\n\n![]({{
11
+ it and to the left of it.\n\nFor example, here are two valid numberings of L(5,&nbsp;3):\n\n![p412_tablenums.png]({{
12
12
  images_dir }}/p412_tablenums.png)\n\nLet LC(<var>m</var>, <var>n</var>) be the number
13
- of valid numberings of L(<var>m</var>, <var>n</var>). \n\rIt can be verified that
14
- LC(30) = 42, LC(53) = 250250, LC(63) = 406029023400 and LC(105) mod 76543217
15
- = 61251715.\n\nFind LC(100005000) mod 76543217.\n\n"
13
+ of valid numberings of L(<var>m</var>, <var>n</var>). \nIt can be verified that
14
+ LC(3,&nbsp;0) = 42, LC(5,&nbsp;3) = 250250, LC(6,&nbsp;3) = 406029023400 and LC(10,&nbsp;5)
15
+ mod 76543217 = 61251715.\n\nFind LC(10000,&nbsp;5000) mod 76543217.\n\n"
@@ -1,13 +1,12 @@
1
1
  ---
2
2
  :id: 413
3
3
  :name: One-child Numbers
4
- :url: http://projecteuler.net/problem=413
4
+ :url: https://projecteuler.net/problem=413
5
5
  :content: "We say that a <var>d</var>-digit positive number (no leading zeros) is
6
6
  a one-child number if exactly one of its sub-strings is divisible by <var>d</var>.\n\nFor
7
7
  example, 5671 is a 4-digit one-child number. Among all its sub-strings 5, 6, 7,
8
- 1, 56, 67, 71, 567, 671 and 5671, only 56 is divisible by 4. \n\rSimilarly, 104
9
- is a 3-digit one-child number because only 0 is divisible by 3. \n\r1132451 is
10
- a 7-digit one-child number because only 245 is divisible by 7.\n\nLet F(<var>N</var>)
11
- be the number of the one-child numbers less than <var>N</var>. \n\rWe can verify
12
- that F(10) = 9, F(10<sup>3</sup>) = 389 and F(10<sup>7</sup>) = 277674.\n\nFind
13
- F(10<sup>19</sup>).\n\n"
8
+ 1, 56, 67, 71, 567, 671 and 5671, only 56 is divisible by 4. \nSimilarly, 104 is
9
+ a 3-digit one-child number because only 0 is divisible by 3. \n1132451 is a 7-digit
10
+ one-child number because only 245 is divisible by 7.\n\nLet F(<var>N</var>) be the
11
+ number of the one-child numbers less than <var>N</var>. \nWe can verify that F(10)
12
+ = 9, F(10<sup>3</sup>) = 389 and F(10<sup>7</sup>) = 277674.\n\nFind F(10<sup>19</sup>).\n\n"
@@ -1,33 +1,31 @@
1
1
  ---
2
2
  :id: 414
3
3
  :name: Kaprekar constant
4
- :url: http://projecteuler.net/problem=414
4
+ :url: https://projecteuler.net/problem=414
5
5
  :content: "6174 is a remarkable number; if we sort its digits in increasing order
6
6
  and subtract that number from the number you get when you sort the digits in decreasing
7
- order, we get 7641-1467=6174. \n\rEven more remarkable is that if we start from
8
- any 4 digit number and repeat this process of sorting and subtracting, we'll eventually
9
- end up with 6174 or immediately with 0 if all digits are equal. \n \rThis also
10
- works with numbers that have less than 4 digits if we pad the number with leading
11
- zeroes until we have 4 digits. \n\rE.g. let's start with the number 0837: \n\r8730-0378=8352
12
- \ \n\r8532-2358=6174\n\n6174 is called the **Kaprekar constant** . The process of
13
- sorting and subtracting and repeating this until either 0 or the Kaprekar constant
14
- is reached is called the **Kaprekar routine** .\n\nWe can consider the Kaprekar
15
- routine for other bases and number of digits. \n \rUnfortunately, it is not guaranteed
16
- a Kaprekar constant exists in all cases; either the routine can end up in a cycle
17
- for some input numbers or the constant the routine arrives at can be different for
18
- different input numbers. \n\rHowever, it can be shown that for 5 digits and a base
19
- b = 6t+3 ![≠]({{ images_dir }}/symbol_ne.gif)9, a Kaprekar constant exists. \n\rE.g.
20
- base 15: (10,4,14,9,5)<sub>15</sub> \n\rbase 21: (14,6,20,13,7)<sub>21</sub>\n\nDefine
21
- <var>C<sub>b</sub></var> to be the Kaprekar constant in base <var>b</var> for 5
22
- digits.\rDefine the function <var>sb(i)</var> to be\n\n- 0 if i = <var>C<sub>b</sub></var>
23
- or if <var>i</var> written in base <var>b</var> consists of 5 identical digits\r\n-
24
- the number of iterations it takes the Kaprekar routine in base <var>b</var> to arrive
25
- at <var>C<sub>b</sub></var>, otherwise\r\n\rNote that we can define <var>sb(i)</var>
26
- for all integers <var>i</var> ![<]({{ images_dir }}/symbol_lt.gif) <var>b</var><sup>5</sup>.
27
- If <var>i</var> written in base <var>b</var> takes less than 5 digits, the number
28
- is padded with leading zero digits until we have 5 digits before applying the Kaprekar
29
- routine.\r\r\n\nDefine <var>S(b)</var> as the sum of <var>sb(i)</var> for 0 ![<]({{
30
- images_dir }}/symbol_lt.gif) <var>i</var> ![<]({{ images_dir }}/symbol_lt.gif) <var>b</var><sup>5</sup>.
31
- \ \n\rE.g. S(15) = 5274369 \n \rS(111) = 400668930299\n\nFind the sum of S(6k+3)
32
- for 2 ![≤]({{ images_dir }}/symbol_le.gif) k ![≤]({{ images_dir }}/symbol_le.gif)
33
- 300. \n\rGive the last 18 digits as your answer.\n\n"
7
+ order, we get 7641-1467=6174. \nEven more remarkable is that if we start from any
8
+ 4 digit number and repeat this process of sorting and subtracting, we'll eventually
9
+ end up with 6174 or immediately with 0 if all digits are equal. \n This also works
10
+ with numbers that have less than 4 digits if we pad the number with leading zeroes
11
+ until we have 4 digits. \nE.g. let's start with the number 0837: \n8730-0378=8352
12
+ \ \n8532-2358=6174\n\n6174 is called the **Kaprekar constant**. The process of sorting
13
+ and subtracting and repeating this until either 0 or the Kaprekar constant is reached
14
+ is called the **Kaprekar routine**.\n\nWe can consider the Kaprekar routine for
15
+ other bases and number of digits. \n Unfortunately, it is not guaranteed a Kaprekar
16
+ constant exists in all cases; either the routine can end up in a cycle for some
17
+ input numbers or the constant the routine arrives at can be different for different
18
+ input numbers. \nHowever, it can be shown that for 5 digits and a base b = 6t+3≠9,
19
+ a Kaprekar constant exists. \nE.g. base 15: (10,4,14,9,5)<sub>15</sub> \nbase
20
+ 21: (14,6,20,13,7)<sub>21</sub>\n\nDefine <var>C<sub>b</sub></var> to be the Kaprekar
21
+ constant in base <var>b</var> for 5 digits. Define the function <var>sb(i)</var>
22
+ to be\n\n- 0 if i = <var>C<sub>b</sub></var> or if <var>i</var> written in base
23
+ <var>b</var> consists of 5 identical digits\n- the number of iterations it takes
24
+ the Kaprekar routine in base <var>b</var> to arrive at <var>C<sub>b</sub></var>,
25
+ otherwise\nNote that we can define <var>sb(i)</var> for all integers <var>i</var>
26
+ \\< <var>b</var><sup>5</sup>. If <var>i</var> written in base <var>b</var> takes
27
+ less than 5 digits, the number is padded with leading zero digits until we have
28
+ 5 digits before applying the Kaprekar routine.\n\nDefine <var>S(b)</var> as the
29
+ sum of <var>sb(i)</var> for 0 \\< <var>i</var> \\< <var>b</var><sup>5</sup>. \nE.g.
30
+ S(15) = 5274369 \n S(111) = 400668930299\n\nFind the sum of S(6k+3) for 2 ≤ k ≤
31
+ 300. \nGive the last 18 digits as your answer.\n\n"
@@ -1,16 +1,15 @@
1
1
  ---
2
2
  :id: 415
3
3
  :name: Titanic sets
4
- :url: http://projecteuler.net/problem=415
5
- :content: "A set of lattice points S is called a _titanic set_ if there exists a line
6
- passing through exactly two points in S.\n\nAn example of a titanic set is S = {(0,
7
- 0), (0, 1), (0, 2), (1, 1), (2, 0), (1, 0)}, where the line passing through (0,
8
- 1) and (2, 0) does not pass through any other point in S.\n\nOn the other hand,
9
- the set {(0, 0), (1, 1), (2, 2), (4, 4)} is not a titanic set since the line passing
10
- through any two points in the set also passes through the other two.\n\nFor any
11
- positive integer <var>N</var>, let <var>T</var>(<var>N</var>) be the number of titanic
12
- sets S whose every point (<var>x</var>, <var>y</var>) satisfies 0 ![]({{ images_dir
13
- }}/symbol_le.gif) <var>x</var>, <var>y</var> ![≤]({{ images_dir }}/symbol_le.gif)
14
- <var>N</var>.\rIt can be verified that <var>T</var>(1) = 11, <var>T</var>(2) = 494,
15
- <var>T</var>(4) = 33554178, <var>T</var>(111) mod 10<sup>8</sup> = 13500401 and
16
- <var>T</var>(10<sup>5</sup>) mod 10<sup>8</sup> = 63259062.\n\nFind <var>T</var>(10<sup>11</sup>) mod 10<sup>8</sup>.\n\n"
4
+ :url: https://projecteuler.net/problem=415
5
+ :content: |+
6
+ A set of lattice points S is called a _titanic set_ if there exists a line passing through exactly two points in S.
7
+
8
+ An example of a titanic set is S = {(0, 0), (0, 1), (0, 2), (1, 1), (2, 0), (1, 0)}, where the line passing through (0, 1) and (2, 0) does not pass through any other point in S.
9
+
10
+ On the other hand, the set {(0, 0), (1, 1), (2, 2), (4, 4)} is not a titanic set since the line passing through any two points in the set also passes through the other two.
11
+
12
+ For any positive integer <var>N</var>, let <var>T</var>(<var>N</var>) be the number of titanic sets S whose every point (<var>x</var>, <var>y</var>) satisfies 0 ≤ <var>x</var>, <var>y</var> ≤ <var>N</var>. It can be verified that <var>T</var>(1) = 11, <var>T</var>(2) = 494, <var>T</var>(4) = 33554178, <var>T</var>(111) mod 10<sup>8</sup> = 13500401 and <var>T</var>(10<sup>5</sup>)&nbsp;mod&nbsp;10<sup>8</sup> = 63259062.
13
+
14
+ Find <var>T</var>(10<sup>11</sup>)&nbsp;mod&nbsp;10<sup>8</sup>.
15
+
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  :id: 416
3
3
  :name: A frog's trip
4
- :url: http://projecteuler.net/problem=416
4
+ :url: https://projecteuler.net/problem=416
5
5
  :content: "A row of <var>n</var> squares contains a frog in the leftmost square. By
6
6
  successive jumps the frog goes to the rightmost square and then back to the leftmost
7
7
  square. On the outward trip he jumps one, two or three squares to the right, and
8
8
  on the homeward trip he jumps to the left in a similar manner. He cannot jump outside
9
9
  the squares. He repeats the round-trip travel <var>m</var> times.\n\nLet F(<var>m</var>,
10
10
  <var>n</var>) be the number of the ways the frog can travel so that at most one
11
- square remains unvisited. \n\rFor example, F(1, 3) = 4, F(1, 4) = 15, F(1, 5) =
12
- 46, F(2, 3) = 16 and F(2, 100) mod 10<sup>9</sup> = 429619151.\n\nFind the last
13
- 9 digits of F(10, 10<sup>12</sup>).\n\n"
11
+ square remains unvisited. \nFor example, F(1, 3) = 4, F(1, 4) = 15, F(1, 5) = 46,
12
+ F(2, 3) = 16 and F(2, 100) mod 10<sup>9</sup> = 429619151.\n\nFind the last 9 digits
13
+ of F(10, 10<sup>12</sup>).\n\n"
@@ -1,19 +1,17 @@
1
1
  ---
2
2
  :id: 417
3
3
  :name: Reciprocal cycles II
4
- :url: http://projecteuler.net/problem=417
4
+ :url: https://projecteuler.net/problem=417
5
5
  :content: "A unit fraction contains 1 in the numerator. The decimal representation
6
6
  of the unit fractions with denominators 2 to 10 are given:\n\n> | <sup>1</sup>/<sub>2</sub>
7
- | | 0.5 |\n> | <sup>1</sup>/<sub>3</sub> | | 0.(3) |\n> | <sup>1</sup>/<sub>4</sub>
8
- | | 0.25 |\n> | <sup>1</sup>/<sub>5</sub> | | 0.2 |\n> | <sup>1</sup>/<sub>6</sub>
9
- | | 0.1(6) |\n> | <sup>1</sup>/<sub>7</sub> | | 0.(142857) |\n> | <sup>1</sup>/<sub>8</sub>
10
- | =  | 0.125 |\n> | <sup>1</sup>/<sub>9</sub> | | 0.(1) |\n> | <sup>1</sup>/<sub>10</sub>
11
- | | 0.1 |\n\nWhere 0.1(6) means 0.166666..., and has a 1-digit recurring cycle.
12
- It can be seen that <sup>1</sup>/<sub>7</sub> has a 6-digit recurring cycle.\n\nUnit
13
- fractions whose denominator has no other prime factors than 2 and/or 5 are not considered
14
- to have a recurring cycle. \n\rWe define the length of the recurring cycle of those
15
- unit fractions as 0.\n\nLet L(n) denote the length of the recurring cycle of 1/n.\rYou
16
- are given that ![]({{ images_dir }}/symbol_sum.gif)L(n) for 3 ![≤]({{ images_dir
17
- }}/symbol_le.gif) n ![]({{ images_dir }}/symbol_le.gif) 1 000 000 equals 55535191115.\n\nFind
18
- ![∑]({{ images_dir }}/symbol_sum.gif)L(n) for 3 ![≤]({{ images_dir }}/symbol_le.gif)
19
- n ![≤]({{ images_dir }}/symbol_le.gif) 100 000 000\n\n"
7
+ | =&nbsp; | 0.5 |\n> | <sup>1</sup>/<sub>3</sub> | =&nbsp; | 0.(3) |\n> | <sup>1</sup>/<sub>4</sub>
8
+ | =&nbsp; | 0.25 |\n> | <sup>1</sup>/<sub>5</sub> | =&nbsp; | 0.2 |\n> | <sup>1</sup>/<sub>6</sub>
9
+ | =&nbsp; | 0.1(6) |\n> | <sup>1</sup>/<sub>7</sub> | =&nbsp; | 0.(142857) |\n>
10
+ | <sup>1</sup>/<sub>8</sub> | =&nbsp; | 0.125 |\n> | <sup>1</sup>/<sub>9</sub> |
11
+ =&nbsp; | 0.(1) |\n> | <sup>1</sup>/<sub>10</sub> | =&nbsp; | 0.1 |\n\nWhere 0.1(6)
12
+ means 0.166666..., and has a 1-digit recurring cycle. It can be seen that <sup>1</sup>/<sub>7</sub>
13
+ has a 6-digit recurring cycle.\n\nUnit fractions whose denominator has no other
14
+ prime factors than 2 and/or 5 are not considered to have a recurring cycle. \nWe
15
+ define the length of the recurring cycle of those unit fractions as 0.\n\nLet L(n)
16
+ denote the length of the recurring cycle of 1/n. You are given that ∑L(n) for 3
17
+ n ≤ 1 000 000 equals 55535191115.\n\nFind ∑L(n) for 3 ≤ n ≤ 100 000 000\n\n"
@@ -1,13 +1,16 @@
1
1
  ---
2
2
  :id: 418
3
3
  :name: Factorisation triples
4
- :url: http://projecteuler.net/problem=418
5
- :content: "Let <var>n</var> be a positive integer. An integer triple (<var>a</var>,
6
- <var>b</var>, <var>c</var>) is called a _factorisation triple_ of <var>n</var> if:\n\n-
7
- 1 ![≤]({{ images_dir }}/symbol_le.gif) <var>a</var> ![≤]({{ images_dir }}/symbol_le.gif)
8
- <var>b</var> ![]({{ images_dir }}/symbol_le.gif) <var>c</var>\n- <var>a</var>·<var>b</var>·<var>c</var>
9
- = <var>n</var>.\r\n\nDefine <var>f</var>(<var>n</var>) to be <var>a</var> + <var>b</var>
10
- + <var>c</var> for the factorisation triple (<var>a</var>, <var>b</var>, <var>c</var>)
11
- of <var>n</var> which minimises <var>c</var> / <var>a</var>. One can show that this
12
- triple is unique.\n\nFor example, <var>f</var>(165) = 19, <var>f</var>(100100) =
13
- 142 and <var>f</var>(20!) = 4034872.\n\nFind <var>f</var>(43!).\n\n"
4
+ :url: https://projecteuler.net/problem=418
5
+ :content: |+
6
+ Let <var>n</var> be a positive integer. An integer triple (<var>a</var>, <var>b</var>, <var>c</var>) is called a _factorisation triple_ of <var>n</var> if:
7
+
8
+ - 1 ≤ <var>a</var> ≤ <var>b</var> <var>c</var>
9
+ - <var>a</var>·<var>b</var>·<var>c</var> = <var>n</var>.
10
+
11
+ Define <var>f</var>(<var>n</var>) to be <var>a</var> + <var>b</var> + <var>c</var> for the factorisation triple (<var>a</var>, <var>b</var>, <var>c</var>) of <var>n</var> which minimises <var>c</var> / <var>a</var>. One can show that this triple is unique.
12
+
13
+ For example, <var>f</var>(165) = 19, <var>f</var>(100100) = 142 and <var>f</var>(20!) = 4034872.
14
+
15
+ Find <var>f</var>(43!).
16
+
@@ -1,17 +1,15 @@
1
1
  ---
2
2
  :id: 419
3
3
  :name: Look and say sequence
4
- :url: http://projecteuler.net/problem=419
4
+ :url: https://projecteuler.net/problem=419
5
5
  :content: "The **look and say** sequence goes 1, 11, 21, 1211, 111221, 312211, 13112221,
6
- 1113213211, ... \n\rThe sequence starts with 1 and all other members are obtained
7
- by describing the previous member in terms of consecutive digits. \n\rIt helps
8
- to do this out loud: \n\r1 is 'one one' ![]({{ images_dir }}/symbol_maps.gif)
9
- 11 \n\r11 is 'two ones' ![]({{ images_dir }}/symbol_maps.gif) 21 \n\r21 is 'one
10
- two and one one' ![]({{ images_dir }}/symbol_maps.gif) 1211 \n\r1211 is 'one
11
- one, one two and two ones' ![→]({{ images_dir }}/symbol_maps.gif) 111221 \n\r111221
12
- is 'three ones, two twos and one one' ![→]({{ images_dir }}/symbol_maps.gif) 312211
13
- \ \n\r...\n\nDefine A(n), B(n) and C(n) as the number of ones, twos and threes in
14
- the n'th element of the sequence respectively. \n\rOne can verify that A(40) =
15
- 31254, B(40) = 20259 and C(40) = 11625.\n\nFind A(n), B(n) and C(n) for n = 10<sup>12</sup>.
16
- \ \n \rGive your answer modulo 2<sup>30</sup> and separate your values for A, B
17
- and C by a comma. \n \rE.g. for n = 40 the answer would be 31254,20259,11625\n\n"
6
+ 1113213211, ... \nThe sequence starts with 1 and all other members are obtained
7
+ by describing the previous member in terms of consecutive digits. \nIt helps to
8
+ do this out loud: \n1 is 'one one' → 11 \n11 is 'two ones' → 21 \n21 is 'one
9
+ two and one one' → 1211 \n1211 is 'one one, one two and two ones' → 111221 \n111221
10
+ is 'three ones, two twos and one one' → 312211 \n...\n\nDefine A(n), B(n) and C(n)
11
+ as the number of ones, twos and threes in the n'th element of the sequence respectively.
12
+ \ \nOne can verify that A(40) = 31254, B(40) = 20259 and C(40) = 11625.\n\nFind
13
+ A(n), B(n) and C(n) for n = 10<sup>12</sup>. \n Give your answer modulo 2<sup>30</sup>
14
+ and separate your values for A, B and C by a comma. \n E.g. for n = 40 the answer
15
+ would be 31254,20259,11625\n\n"
data/data/problems/42.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  :id: 42
3
3
  :name: Coded triangle numbers
4
- :url: http://projecteuler.net/problem=42
4
+ :url: https://projecteuler.net/problem=42
5
5
  :content: |+
6
6
  The _n_<sup>th</sup> term of the sequence of triangle numbers is given by, _t<sub>n</sub>_ = ½_n_(_n_+1); so the first ten triangle numbers are:
7
7
 
@@ -9,5 +9,5 @@
9
9
 
10
10
  By converting each letter in a word to a number corresponding to its alphabetical position and adding these values we form a word value. For example, the word value for SKY is 19 + 11 + 25 = 55 = _t_<sub>10</sub>. If the word value is a triangle number then we shall call the word a triangle word.
11
11
 
12
- Using [words.txt](project/words.txt) (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, how many are triangle words?
12
+ Using [words.txt](project/resources/p042_words.txt) (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, how many are triangle words?
13
13
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  :id: 420
3
3
  :name: 2x2 positive integer matrix
4
- :url: http://projecteuler.net/problem=420
4
+ :url: https://projecteuler.net/problem=420
5
5
  :content: "A _positive integer matrix_ is a matrix whose elements are all positive
6
- integers. \n\rSome positive integer matrices can be expressed as a square of a
7
- positive integer matrix in two different ways. Here is an example:\n\n ![]({{ images_dir
8
- }}/p_420_matrix.gif)\n\nWe define F(<var>N</var>) as the number of the 2x2 positive
9
- integer matrices which have a <dfn title=\"the sum of the elements on the main diagonal\">trace</dfn>
10
- less than <var>N</var> and which can be expressed as a square of a positive integer
11
- matrix in two different ways. \n\rWe can verify that F(50) = 7 and F(1000) = 1019.\n\nFind
12
- F(10<sup>7</sup>).\n\n"
6
+ integers. \nSome positive integer matrices can be expressed as a square of a positive
7
+ integer matrix in two different ways. Here is an example:\n\n ![p420_matrix.gif]({{
8
+ images_dir }}/p420_matrix.gif)\n\nWe define F(<var>N</var>) as the number of the
9
+ 2x2 positive integer matrices which have a <dfn title=\"the sum of the elements
10
+ on the main diagonal\">trace</dfn> less than <var>N</var> and which can be expressed
11
+ as a square of a positive integer matrix in two different ways. \nWe can verify
12
+ that F(50) = 7 and F(1000) = 1019.\n\nFind F(10<sup>7</sup>).\n\n"
@@ -1,17 +1,12 @@
1
1
  ---
2
2
  :id: 421
3
3
  :name: Prime factors of <var>n</var><sup>15</sup>+1
4
- :url: http://projecteuler.net/problem=421
4
+ :url: https://projecteuler.net/problem=421
5
5
  :content: "Numbers of the form <var>n</var><sup>15</sup>+1 are composite for every
6
- integer <var>n</var> ![>]({{ images_dir }}/symbol_gt.gif) 1. \n\rFor positive integers
7
- <var>n</var> and <var>m</var> let <var>s</var>(<var>n,m</var>) be defined as the
8
- sum of the _distinct_ prime factors of <var>n</var><sup>15</sup>+1 not exceeding
9
- <var>m</var>.\n\n\rE.g. 2<sup>15</sup>+1 = 3 ![×]({{ images_dir }}/symbol_times.gif)3
10
- ![×]({{ images_dir }}/symbol_times.gif)11 ![×]({{ images_dir }}/symbol_times.gif)331.
11
- \ \n\rSo <var>s</var>(2,10) = 3 and <var>s</var>(2,1000) = 3+11+331 = 345. \n \n
12
- \ \n\r\rAlso 10<sup>15</sup>+1 = 7 ![×]({{ images_dir }}/symbol_times.gif)11 ![×]({{
13
- images_dir }}/symbol_times.gif)13 ![×]({{ images_dir }}/symbol_times.gif)211 ![×]({{
14
- images_dir }}/symbol_times.gif)241 ![×]({{ images_dir }}/symbol_times.gif)2161 ![×]({{
15
- images_dir }}/symbol_times.gif)9091. \n\rSo <var>s</var>(10,100) = 31 and <var>s</var>(10,1000)
16
- = 483. \n\nFind &Sum; <var>s</var>(<var>n</var>,10<sup>8</sup>) for 1 ![≤]({{ images_dir
17
- }}/symbol_le.gif) <var>n</var> ![≤]({{ images_dir }}/symbol_le.gif) 10<sup>11</sup>.\n\n"
6
+ integer <var>n</var> \\> 1. \nFor positive integers <var>n</var> and <var>m</var>
7
+ let <var>s</var>(<var>n,m</var>) be defined as the sum of the _distinct_ prime factors
8
+ of <var>n</var><sup>15</sup>+1 not exceeding <var>m</var>.\n\nE.g. 2<sup>15</sup>+1
9
+ = 3×3×11×331. \nSo <var>s</var>(2,10) = 3 and <var>s</var>(2,1000) = 3+11+331 =
10
+ 345. \n \nAlso 10<sup>15</sup>+1 = 7×11×13×211×241×2161×9091. \nSo <var>s</var>(10,100)
11
+ = 31 and <var>s</var>(10,1000) = 483. \n\nFind <var>s</var>(<var>n</var>,10<sup>8</sup>)
12
+ for 1 ≤ <var>n</var> 10<sup>11</sup>.\n\n"
@@ -1,20 +1,20 @@
1
1
  ---
2
2
  :id: 422
3
3
  :name: Sequence of points on a hyperbola
4
- :url: http://projecteuler.net/problem=422
4
+ :url: https://projecteuler.net/problem=422
5
5
  :content: "Let H be the hyperbola defined by the equation 12<var>x</var><sup>2</sup>
6
6
  + 7<var>x</var><var>y</var> - 12<var>y</var><sup>2</sup> = 625.\n\nNext, define
7
7
  X as the point (7, 1). It can be seen that X is in H.\n\nNow we define a sequence
8
- of points in H, {P<sub><var>i</var></sub> : <var>i</var> ![]({{ images_dir }}/symbol_ge.gif)
9
- 1}, as:\n\n- P<sub>1</sub> = (13, 61/4).\r\n- P<sub>2</sub> = (-43/6, -4).\r\n-
10
- For <var>i</var> > 2, P<sub><var>i</var></sub> is the unique point in H that is
11
- different from P<sub><var>i</var>-1</sub> and such that line P<sub><var>i</var></sub>P<sub><var>i</var>-1</sub>
12
- is parallel to line P<sub><var>i</var>-2</sub>X. It can be shown that P<sub><var>i</var></sub>
13
- is well-defined, and that its coordinates are always rational.\r\n ![]({{ images_dir
8
+ of points in H, {P<sub><var>i</var></sub> : <var>i</var> ≥ 1}, as:\n\n- P<sub>1</sub>
9
+ = (13, 61/4).\n- P<sub>2</sub> = (-43/6, -4).\n- For <var>i</var> \\> 2, P<sub><var>i</var></sub>
10
+ is the unique point in H that is different from P<sub><var>i</var>-1</sub> and such
11
+ that line P<sub><var>i</var></sub>P<sub><var>i</var>-1</sub> is parallel to line
12
+ P<sub><var>i</var>-2</sub>X. It can be shown that P<sub><var>i</var></sub> is well-defined,
13
+ and that its coordinates are always rational.\n ![p422_hyperbola.gif]({{ images_dir
14
14
  }}/p422_hyperbola.gif)\n\nYou are given that P<sub>3</sub> = (-19/2, -229/24), P<sub>4</sub>
15
15
  = (1267/144, -37/12) and P<sub>7</sub> = (17194218091/143327232, 274748766781/1719926784).\n\nFind
16
16
  P<sub><var>n</var></sub> for <var>n</var> = 11<sup>14</sup> in the following format:
17
17
  \ \nIf P<sub><var>n</var></sub> = (<var>a</var>/<var>b</var>, <var>c</var>/<var>d</var>)
18
18
  where the fractions are in lowest terms and the denominators are positive, then
19
- the answer is (<var>a</var> + <var>b</var> + <var>c</var> + <var>d</var>) mod 1 000 000 007.\n\nFor
19
+ the answer is (<var>a</var> + <var>b</var> + <var>c</var> + <var>d</var>) mod 1&nbsp;000&nbsp;000&nbsp;007.\n\nFor
20
20
  <var>n</var> = 7, the answer would have been: 806236837.\n\n"
@@ -1,18 +1,17 @@
1
1
  ---
2
2
  :id: 423
3
3
  :name: Consecutive die throws
4
- :url: http://projecteuler.net/problem=423
5
- :content: "Let <var>n</var> be a positive integer. \n\rA 6-sided die is thrown <var>n</var>
4
+ :url: https://projecteuler.net/problem=423
5
+ :content: "Let <var>n</var> be a positive integer. \nA 6-sided die is thrown <var>n</var>
6
6
  times. Let <var>c</var> be the number of pairs of consecutive throws that give the
7
7
  same value.\n\nFor example, if <var>n</var> = 7 and the values of the die throws
8
8
  are (1,1,5,6,6,6,3), then the following pairs of consecutive throws give the same
9
- value: \n\r(<u>1,1</u>,5,6,6,6,3) \n\r(1,1,5,<u>6,6</u>,6,3) \n\r(1,1,5,6,<u>6,6</u>,3)
10
- \ \n\rTherefore, <var>c</var> = 3 for (1,1,5,6,6,6,3).\n\nDefine C(<var>n</var>)
11
- as the number of outcomes of throwing a 6-sided die <var>n</var> times such that
12
- <var>c</var> does not exceed π(<var>n</var>).<sup>1</sup> \n\rFor example, C(3)
13
- = 216, C(4) = 1290, C(11) = 361912500 and C(24) = 4727547363281250000.\n\nDefine
14
- S(<var>L</var>) as ![∑]({{ images_dir }}/symbol_sum.gif) C(<var>n</var>) for 1 ![≤]({{
15
- images_dir }}/symbol_le.gif) <var>n</var> ![≤]({{ images_dir }}/symbol_le.gif) <var>L</var>.
16
- \ \n\rFor example, S(50) mod 1 000 000 007 = 832833871.\n\nFind S(50 000 000) mod
17
- 1 000 000 007.\n\n<sup>1</sup> π denotes the **prime-counting function** , i.e.
18
- π(<var>n</var>) is the number of primes ![≤]({{ images_dir }}/symbol_le.gif) <var>n</var>.\n\n"
9
+ value: \n(<u>1,1</u>,5,6,6,6,3) \n(1,1,5,<u>6,6</u>,6,3) \n(1,1,5,6,<u>6,6</u>,3)
10
+ \ \nTherefore, <var>c</var> = 3 for (1,1,5,6,6,6,3).\n\nDefine C(<var>n</var>) as
11
+ the number of outcomes of throwing a 6-sided die <var>n</var> times such that <var>c</var>
12
+ does not exceed π(<var>n</var>).<sup>1</sup> \nFor example, C(3) = 216, C(4) =
13
+ 1290, C(11) = 361912500 and C(24) = 4727547363281250000.\n\nDefine S(<var>L</var>)
14
+ as ∑ C(<var>n</var>) for 1 <var>n</var> <var>L</var>. \nFor example, S(50)
15
+ mod 1&nbsp;000&nbsp;000&nbsp;007 = 832833871.\n\nFind S(50&nbsp;000&nbsp;000) mod
16
+ 1&nbsp;000&nbsp;000&nbsp;007.\n\n<sup>1</sup> π denotes the **prime-counting function**
17
+ , i.e. π(<var>n</var>) is the number of primes ≤ <var>n</var>.\n\n"