euler-manager 0.0.1

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 (499) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +37 -0
  6. data/Rakefile +1 -0
  7. data/bin/euler +145 -0
  8. data/data/answers.yml +456 -0
  9. data/data/problems/1.yml +7 -0
  10. data/data/problems/10.yml +8 -0
  11. data/data/problems/100.yml +13 -0
  12. data/data/problems/101.yml +49 -0
  13. data/data/problems/102.yml +16 -0
  14. data/data/problems/103.yml +26 -0
  15. data/data/problems/104.yml +15 -0
  16. data/data/problems/105.yml +21 -0
  17. data/data/problems/106.yml +19 -0
  18. data/data/problems/107.yml +20 -0
  19. data/data/problems/108.yml +32 -0
  20. data/data/problems/109.yml +33 -0
  21. data/data/problems/11.yml +33 -0
  22. data/data/problems/110.yml +19 -0
  23. data/data/problems/111.yml +21 -0
  24. data/data/problems/112.yml +15 -0
  25. data/data/problems/113.yml +13 -0
  26. data/data/problems/114.yml +106 -0
  27. data/data/problems/115.yml +17 -0
  28. data/data/problems/116.yml +76 -0
  29. data/data/problems/117.yml +82 -0
  30. data/data/problems/118.yml +9 -0
  31. data/data/problems/119.yml +11 -0
  32. data/data/problems/12.yml +13 -0
  33. data/data/problems/120.yml +17 -0
  34. data/data/problems/121.yml +15 -0
  35. data/data/problems/122.yml +42 -0
  36. data/data/problems/123.yml +13 -0
  37. data/data/problems/124.yml +58 -0
  38. data/data/problems/125.yml +12 -0
  39. data/data/problems/126.yml +17 -0
  40. data/data/problems/127.yml +31 -0
  41. data/data/problems/128.yml +18 -0
  42. data/data/problems/129.yml +12 -0
  43. data/data/problems/13.yml +6 -0
  44. data/data/problems/130.yml +19 -0
  45. data/data/problems/131.yml +12 -0
  46. data/data/problems/132.yml +12 -0
  47. data/data/problems/133.yml +13 -0
  48. data/data/problems/134.yml +19 -0
  49. data/data/problems/135.yml +20 -0
  50. data/data/problems/136.yml +17 -0
  51. data/data/problems/137.yml +36 -0
  52. data/data/problems/138.yml +20 -0
  53. data/data/problems/139.yml +15 -0
  54. data/data/problems/14.yml +28 -0
  55. data/data/problems/140.yml +29 -0
  56. data/data/problems/141.yml +14 -0
  57. data/data/problems/142.yml +14 -0
  58. data/data/problems/143.yml +20 -0
  59. data/data/problems/144.yml +30 -0
  60. data/data/problems/145.yml +11 -0
  61. data/data/problems/146.yml +9 -0
  62. data/data/problems/147.yml +14 -0
  63. data/data/problems/148.yml +11 -0
  64. data/data/problems/149.yml +41 -0
  65. data/data/problems/15.yml +11 -0
  66. data/data/problems/150.yml +34 -0
  67. data/data/problems/151.yml +19 -0
  68. data/data/problems/152.yml +12 -0
  69. data/data/problems/153.yml +57 -0
  70. data/data/problems/154.yml +16 -0
  71. data/data/problems/155.yml +22 -0
  72. data/data/problems/156.yml +27 -0
  73. data/data/problems/157.yml +34 -0
  74. data/data/problems/158.yml +19 -0
  75. data/data/problems/159.yml +29 -0
  76. data/data/problems/16.yml +6 -0
  77. data/data/problems/160.yml +8 -0
  78. data/data/problems/161.yml +15 -0
  79. data/data/problems/162.yml +15 -0
  80. data/data/problems/163.yml +19 -0
  81. data/data/problems/164.yml +8 -0
  82. data/data/problems/165.yml +32 -0
  83. data/data/problems/166.yml +15 -0
  84. data/data/problems/167.yml +17 -0
  85. data/data/problems/168.yml +13 -0
  86. data/data/problems/169.yml +10 -0
  87. data/data/problems/17.yml +11 -0
  88. data/data/problems/170.yml +16 -0
  89. data/data/problems/171.yml +13 -0
  90. data/data/problems/172.yml +6 -0
  91. data/data/problems/173.yml +12 -0
  92. data/data/problems/174.yml +20 -0
  93. data/data/problems/175.yml +21 -0
  94. data/data/problems/176.yml +9 -0
  95. data/data/problems/177.yml +16 -0
  96. data/data/problems/178.yml +9 -0
  97. data/data/problems/179.yml +10 -0
  98. data/data/problems/18.yml +21 -0
  99. data/data/problems/180.yml +34 -0
  100. data/data/problems/181.yml +7 -0
  101. data/data/problems/182.yml +35 -0
  102. data/data/problems/183.yml +27 -0
  103. data/data/problems/184.yml +18 -0
  104. data/data/problems/185.yml +22 -0
  105. data/data/problems/186.yml +28 -0
  106. data/data/problems/187.yml +16 -0
  107. data/data/problems/188.yml +10 -0
  108. data/data/problems/189.yml +15 -0
  109. data/data/problems/19.yml +12 -0
  110. data/data/problems/190.yml +13 -0
  111. data/data/problems/191.yml +15 -0
  112. data/data/problems/192.yml +27 -0
  113. data/data/problems/193.yml +7 -0
  114. data/data/problems/194.yml +18 -0
  115. data/data/problems/195.yml +13 -0
  116. data/data/problems/196.yml +25 -0
  117. data/data/problems/197.yml +16 -0
  118. data/data/problems/198.yml +21 -0
  119. data/data/problems/199.yml +14 -0
  120. data/data/problems/2.yml +10 -0
  121. data/data/problems/20.yml +22 -0
  122. data/data/problems/200.yml +12 -0
  123. data/data/problems/201.yml +20 -0
  124. data/data/problems/202.yml +14 -0
  125. data/data/problems/203.yml +21 -0
  126. data/data/problems/204.yml +11 -0
  127. data/data/problems/205.yml +10 -0
  128. data/data/problems/206.yml +6 -0
  129. data/data/problems/207.yml +20 -0
  130. data/data/problems/208.yml +12 -0
  131. data/data/problems/209.yml +27 -0
  132. data/data/problems/21.yml +13 -0
  133. data/data/problems/210.yml +10 -0
  134. data/data/problems/211.yml +11 -0
  135. data/data/problems/212.yml +41 -0
  136. data/data/problems/213.yml +11 -0
  137. data/data/problems/214.yml +15 -0
  138. data/data/problems/215.yml +18 -0
  139. data/data/problems/216.yml +14 -0
  140. data/data/problems/217.yml +27 -0
  141. data/data/problems/218.yml +14 -0
  142. data/data/problems/219.yml +19 -0
  143. data/data/problems/22.yml +13 -0
  144. data/data/problems/220.yml +24 -0
  145. data/data/problems/221.yml +20 -0
  146. data/data/problems/222.yml +7 -0
  147. data/data/problems/223.yml +12 -0
  148. data/data/problems/224.yml +12 -0
  149. data/data/problems/225.yml +11 -0
  150. data/data/problems/226.yml +16 -0
  151. data/data/problems/227.yml +13 -0
  152. data/data/problems/228.yml +23 -0
  153. data/data/problems/229.yml +30 -0
  154. data/data/problems/23.yml +19 -0
  155. data/data/problems/230.yml +23 -0
  156. data/data/problems/231.yml +16 -0
  157. data/data/problems/232.yml +14 -0
  158. data/data/problems/233.yml +10 -0
  159. data/data/problems/234.yml +23 -0
  160. data/data/problems/235.yml +9 -0
  161. data/data/problems/236.yml +32 -0
  162. data/data/problems/237.yml +13 -0
  163. data/data/problems/238.yml +42 -0
  164. data/data/problems/239.yml +9 -0
  165. data/data/problems/24.yml +10 -0
  166. data/data/problems/240.yml +11 -0
  167. data/data/problems/241.yml +17 -0
  168. data/data/problems/242.yml +16 -0
  169. data/data/problems/243.yml +19 -0
  170. data/data/problems/244.yml +32 -0
  171. data/data/problems/245.yml +36 -0
  172. data/data/problems/246.yml +17 -0
  173. data/data/problems/247.yml +21 -0
  174. data/data/problems/248.yml +6 -0
  175. data/data/problems/249.yml +7 -0
  176. data/data/problems/25.yml +15 -0
  177. data/data/problems/250.yml +7 -0
  178. data/data/problems/251.yml +13 -0
  179. data/data/problems/252.yml +31 -0
  180. data/data/problems/253.yml +36 -0
  181. data/data/problems/254.yml +21 -0
  182. data/data/problems/255.yml +59 -0
  183. data/data/problems/256.yml +43 -0
  184. data/data/problems/257.yml +18 -0
  185. data/data/problems/258.yml +13 -0
  186. data/data/problems/259.yml +16 -0
  187. data/data/problems/26.yml +11 -0
  188. data/data/problems/260.yml +30 -0
  189. data/data/problems/261.yml +19 -0
  190. data/data/problems/262.yml +20 -0
  191. data/data/problems/263.yml +19 -0
  192. data/data/problems/264.yml +20 -0
  193. data/data/problems/265.yml +16 -0
  194. data/data/problems/266.yml +10 -0
  195. data/data/problems/267.yml +14 -0
  196. data/data/problems/268.yml +8 -0
  197. data/data/problems/269.yml +15 -0
  198. data/data/problems/27.yml +25 -0
  199. data/data/problems/270.yml +17 -0
  200. data/data/problems/271.yml +13 -0
  201. data/data/problems/272.yml +15 -0
  202. data/data/problems/273.yml +21 -0
  203. data/data/problems/274.yml +23 -0
  204. data/data/problems/275.yml +19 -0
  205. data/data/problems/276.yml +11 -0
  206. data/data/problems/277.yml +24 -0
  207. data/data/problems/278.yml +32 -0
  208. data/data/problems/279.yml +6 -0
  209. data/data/problems/28.yml +17 -0
  210. data/data/problems/280.yml +13 -0
  211. data/data/problems/281.yml +17 -0
  212. data/data/problems/282.yml +10 -0
  213. data/data/problems/283.yml +11 -0
  214. data/data/problems/284.yml +22 -0
  215. data/data/problems/285.yml +17 -0
  216. data/data/problems/286.yml +12 -0
  217. data/data/problems/287.yml +36 -0
  218. data/data/problems/288.yml +15 -0
  219. data/data/problems/289.yml +19 -0
  220. data/data/problems/29.yml +24 -0
  221. data/data/problems/290.yml +8 -0
  222. data/data/problems/291.yml +10 -0
  223. data/data/problems/292.yml +13 -0
  224. data/data/problems/293.yml +15 -0
  225. data/data/problems/294.yml +10 -0
  226. data/data/problems/295.yml +26 -0
  227. data/data/problems/296.yml +15 -0
  228. data/data/problems/297.yml +19 -0
  229. data/data/problems/298.yml +46 -0
  230. data/data/problems/299.yml +31 -0
  231. data/data/problems/3.yml +7 -0
  232. data/data/problems/30.yml +12 -0
  233. data/data/problems/300.yml +24 -0
  234. data/data/problems/301.yml +25 -0
  235. data/data/problems/302.yml +18 -0
  236. data/data/problems/303.yml +11 -0
  237. data/data/problems/304.yml +19 -0
  238. data/data/problems/305.yml +14 -0
  239. data/data/problems/306.yml +29 -0
  240. data/data/problems/307.yml +12 -0
  241. data/data/problems/308.yml +34 -0
  242. data/data/problems/309.yml +17 -0
  243. data/data/problems/31.yml +18 -0
  244. data/data/problems/310.yml +19 -0
  245. data/data/problems/311.yml +21 -0
  246. data/data/problems/312.yml +15 -0
  247. data/data/problems/313.yml +17 -0
  248. data/data/problems/314.yml +29 -0
  249. data/data/problems/315.yml +49 -0
  250. data/data/problems/316.yml +25 -0
  251. data/data/problems/317.yml +11 -0
  252. data/data/problems/318.yml +61 -0
  253. data/data/problems/319.yml +23 -0
  254. data/data/problems/32.yml +14 -0
  255. data/data/problems/320.yml +12 -0
  256. data/data/problems/321.yml +18 -0
  257. data/data/problems/322.yml +12 -0
  258. data/data/problems/323.yml +19 -0
  259. data/data/problems/324.yml +17 -0
  260. data/data/problems/325.yml +25 -0
  261. data/data/problems/326.yml +12 -0
  262. data/data/problems/327.yml +39 -0
  263. data/data/problems/328.yml +36 -0
  264. data/data/problems/329.yml +17 -0
  265. data/data/problems/33.yml +13 -0
  266. data/data/problems/330.yml +40 -0
  267. data/data/problems/331.yml +28 -0
  268. data/data/problems/332.yml +16 -0
  269. data/data/problems/333.yml +25 -0
  270. data/data/problems/334.yml +39 -0
  271. data/data/problems/335.yml +16 -0
  272. data/data/problems/336.yml +24 -0
  273. data/data/problems/337.yml +15 -0
  274. data/data/problems/338.yml +41 -0
  275. data/data/problems/339.yml +17 -0
  276. data/data/problems/34.yml +7 -0
  277. data/data/problems/340.yml +14 -0
  278. data/data/problems/341.yml +18 -0
  279. data/data/problems/342.yml +17 -0
  280. data/data/problems/343.yml +29 -0
  281. data/data/problems/344.yml +21 -0
  282. data/data/problems/345.yml +26 -0
  283. data/data/problems/346.yml +11 -0
  284. data/data/problems/347.yml +16 -0
  285. data/data/problems/348.yml +12 -0
  286. data/data/problems/349.yml +13 -0
  287. data/data/problems/35.yml +8 -0
  288. data/data/problems/350.yml +18 -0
  289. data/data/problems/351.yml +13 -0
  290. data/data/problems/352.yml +49 -0
  291. data/data/problems/353.yml +25 -0
  292. data/data/problems/354.yml +16 -0
  293. data/data/problems/355.yml +8 -0
  294. data/data/problems/356.yml +10 -0
  295. data/data/problems/357.yml +9 -0
  296. data/data/problems/358.yml +31 -0
  297. data/data/problems/359.yml +26 -0
  298. data/data/problems/36.yml +8 -0
  299. data/data/problems/360.yml +12 -0
  300. data/data/problems/361.yml +20 -0
  301. data/data/problems/362.yml +32 -0
  302. data/data/problems/363.yml +33 -0
  303. data/data/problems/364.yml +15 -0
  304. data/data/problems/365.yml +17 -0
  305. data/data/problems/366.yml +26 -0
  306. data/data/problems/367.yml +20 -0
  307. data/data/problems/368.yml +39 -0
  308. data/data/problems/369.yml +15 -0
  309. data/data/problems/37.yml +10 -0
  310. data/data/problems/370.yml +16 -0
  311. data/data/problems/371.yml +13 -0
  312. data/data/problems/372.yml +16 -0
  313. data/data/problems/373.yml +10 -0
  314. data/data/problems/374.yml +25 -0
  315. data/data/problems/375.yml +23 -0
  316. data/data/problems/376.yml +25 -0
  317. data/data/problems/377.yml +11 -0
  318. data/data/problems/378.yml +15 -0
  319. data/data/problems/379.yml +15 -0
  320. data/data/problems/38.yml +18 -0
  321. data/data/problems/380.yml +22 -0
  322. data/data/problems/381.yml +21 -0
  323. data/data/problems/382.yml +23 -0
  324. data/data/problems/383.yml +13 -0
  325. data/data/problems/384.yml +28 -0
  326. data/data/problems/385.yml +22 -0
  327. data/data/problems/386.yml +16 -0
  328. data/data/problems/387.yml +19 -0
  329. data/data/problems/388.yml +12 -0
  330. data/data/problems/389.yml +12 -0
  331. data/data/problems/39.yml +10 -0
  332. data/data/problems/390.yml +18 -0
  333. data/data/problems/391.yml +29 -0
  334. data/data/problems/392.yml +22 -0
  335. data/data/problems/393.yml +12 -0
  336. data/data/problems/394.yml +22 -0
  337. data/data/problems/395.yml +19 -0
  338. data/data/problems/396.yml +28 -0
  339. data/data/problems/397.yml +20 -0
  340. data/data/problems/398.yml +13 -0
  341. data/data/problems/399.yml +22 -0
  342. data/data/problems/4.yml +8 -0
  343. data/data/problems/40.yml +18 -0
  344. data/data/problems/400.yml +18 -0
  345. data/data/problems/401.yml +11 -0
  346. data/data/problems/402.yml +25 -0
  347. data/data/problems/403.yml +19 -0
  348. data/data/problems/404.yml +21 -0
  349. data/data/problems/405.yml +15 -0
  350. data/data/problems/406.yml +46 -0
  351. data/data/problems/407.yml +20 -0
  352. data/data/problems/408.yml +14 -0
  353. data/data/problems/409.yml +12 -0
  354. data/data/problems/41.yml +8 -0
  355. data/data/problems/410.yml +19 -0
  356. data/data/problems/411.yml +23 -0
  357. data/data/problems/412.yml +19 -0
  358. data/data/problems/413.yml +13 -0
  359. data/data/problems/414.yml +40 -0
  360. data/data/problems/415.yml +19 -0
  361. data/data/problems/416.yml +13 -0
  362. data/data/problems/417.yml +21 -0
  363. data/data/problems/418.yml +17 -0
  364. data/data/problems/419.yml +22 -0
  365. data/data/problems/42.yml +14 -0
  366. data/data/problems/420.yml +13 -0
  367. data/data/problems/421.yml +29 -0
  368. data/data/problems/422.yml +22 -0
  369. data/data/problems/423.yml +22 -0
  370. data/data/problems/424.yml +37 -0
  371. data/data/problems/425.yml +16 -0
  372. data/data/problems/426.yml +29 -0
  373. data/data/problems/427.yml +18 -0
  374. data/data/problems/428.yml +32 -0
  375. data/data/problems/429.yml +10 -0
  376. data/data/problems/43.yml +17 -0
  377. data/data/problems/430.yml +20 -0
  378. data/data/problems/431.yml +33 -0
  379. data/data/problems/432.yml +13 -0
  380. data/data/problems/433.yml +18 -0
  381. data/data/problems/434.yml +32 -0
  382. data/data/problems/435.yml +21 -0
  383. data/data/problems/436.yml +21 -0
  384. data/data/problems/437.yml +22 -0
  385. data/data/problems/438.yml +29 -0
  386. data/data/problems/439.yml +17 -0
  387. data/data/problems/44.yml +16 -0
  388. data/data/problems/440.yml +21 -0
  389. data/data/problems/441.yml +23 -0
  390. data/data/problems/442.yml +9 -0
  391. data/data/problems/443.yml +13 -0
  392. data/data/problems/444.yml +28 -0
  393. data/data/problems/445.yml +37 -0
  394. data/data/problems/446.yml +29 -0
  395. data/data/problems/447.yml +31 -0
  396. data/data/problems/448.yml +14 -0
  397. data/data/problems/449.yml +17 -0
  398. data/data/problems/45.yml +15 -0
  399. data/data/problems/450.yml +26 -0
  400. data/data/problems/451.yml +15 -0
  401. data/data/problems/452.yml +8 -0
  402. data/data/problems/453.yml +16 -0
  403. data/data/problems/454.yml +17 -0
  404. data/data/problems/455.yml +16 -0
  405. data/data/problems/456.yml +15 -0
  406. data/data/problems/46.yml +18 -0
  407. data/data/problems/47.yml +21 -0
  408. data/data/problems/48.yml +7 -0
  409. data/data/problems/49.yml +10 -0
  410. data/data/problems/5.yml +8 -0
  411. data/data/problems/50.yml +10 -0
  412. data/data/problems/51.yml +15 -0
  413. data/data/problems/52.yml +8 -0
  414. data/data/problems/53.yml +28 -0
  415. data/data/problems/54.yml +43 -0
  416. data/data/problems/55.yml +21 -0
  417. data/data/problems/56.yml +11 -0
  418. data/data/problems/57.yml +15 -0
  419. data/data/problems/58.yml +22 -0
  420. data/data/problems/59.yml +23 -0
  421. data/data/problems/6.yml +13 -0
  422. data/data/problems/60.yml +10 -0
  423. data/data/problems/61.yml +30 -0
  424. data/data/problems/62.yml +9 -0
  425. data/data/problems/63.yml +7 -0
  426. data/data/problems/64.yml +130 -0
  427. data/data/problems/65.yml +62 -0
  428. data/data/problems/66.yml +27 -0
  429. data/data/problems/67.yml +17 -0
  430. data/data/problems/68.yml +23 -0
  431. data/data/problems/69.yml +14 -0
  432. data/data/problems/7.yml +6 -0
  433. data/data/problems/70.yml +16 -0
  434. data/data/problems/71.yml +17 -0
  435. data/data/problems/72.yml +16 -0
  436. data/data/problems/73.yml +16 -0
  437. data/data/problems/74.yml +41 -0
  438. data/data/problems/75.yml +16 -0
  439. data/data/problems/76.yml +8 -0
  440. data/data/problems/77.yml +8 -0
  441. data/data/problems/78.yml +12 -0
  442. data/data/problems/79.yml +11 -0
  443. data/data/problems/8.yml +6 -0
  444. data/data/problems/80.yml +11 -0
  445. data/data/problems/81.yml +19 -0
  446. data/data/problems/82.yml +19 -0
  447. data/data/problems/83.yml +23 -0
  448. data/data/problems/84.yml +63 -0
  449. data/data/problems/85.yml +9 -0
  450. data/data/problems/86.yml +15 -0
  451. data/data/problems/87.yml +12 -0
  452. data/data/problems/88.yml +53 -0
  453. data/data/problems/89.yml +18 -0
  454. data/data/problems/9.yml +13 -0
  455. data/data/problems/90.yml +23 -0
  456. data/data/problems/91.yml +19 -0
  457. data/data/problems/92.yml +29 -0
  458. data/data/problems/93.yml +21 -0
  459. data/data/problems/94.yml +11 -0
  460. data/data/problems/95.yml +23 -0
  461. data/data/problems/96.yml +46 -0
  462. data/data/problems/97.yml +14 -0
  463. data/data/problems/98.yml +16 -0
  464. data/data/problems/99.yml +16 -0
  465. data/euler-manager.gemspec +31 -0
  466. data/euler-manager.sublime-project +12 -0
  467. data/example/1/README.md +6 -0
  468. data/example/1/ruby/1.rb +5 -0
  469. data/example/1/scala/1.scala +9 -0
  470. data/example/2/README.md +9 -0
  471. data/example/2/python/2.py +5 -0
  472. data/example/2/python/euler.py +0 -0
  473. data/example/Eulerfile.rb +87 -0
  474. data/example/README.md +26 -0
  475. data/example/lib/euler.py +0 -0
  476. data/example/lib/euler.rb +0 -0
  477. data/example/lib/euler.scala +5 -0
  478. data/lib/euler.rb +190 -0
  479. data/lib/euler/errors.rb +7 -0
  480. data/lib/euler/languages.rb +12 -0
  481. data/lib/euler/languages/coffeescript.rb +25 -0
  482. data/lib/euler/languages/javascript.rb +25 -0
  483. data/lib/euler/languages/python.rb +27 -0
  484. data/lib/euler/languages/ruby.rb +25 -0
  485. data/lib/euler/languages/scala.rb +27 -0
  486. data/lib/euler/languages/templates/coffeescript.coffee +5 -0
  487. data/lib/euler/languages/templates/javascript.js +5 -0
  488. data/lib/euler/languages/templates/python.py +5 -0
  489. data/lib/euler/languages/templates/ruby.rb +5 -0
  490. data/lib/euler/languages/templates/scala.scala +9 -0
  491. data/lib/euler/problem.rb +60 -0
  492. data/lib/euler/solution.rb +98 -0
  493. data/lib/euler/version.rb +3 -0
  494. data/scripts/update_problems +68 -0
  495. data/spec/euler/problem_spec.rb +5 -0
  496. data/spec/euler/solution_spec.rb +69 -0
  497. data/spec/euler_spec.rb +27 -0
  498. data/spec/spec_helper.rb +3 -0
  499. metadata +644 -0
@@ -0,0 +1,10 @@
1
+ ---
2
+ :id: 294
3
+ :name: 'Sum of digits - experience #23'
4
+ :url: http://projecteuler.net/problem=294
5
+ :content: "\r\n<p>\r\nFor a positive integer k, define d(k) as the sum of the digits
6
+ of k in its usual decimal representation.\r\nThus d(42) = 4+2 = 6.\r\n</p>\r\n<p>\r\nFor
7
+ a positive integer n, define S(n) as the number of positive integers k n with the
8
+ following properties :\r\n</p>\n<ul>\n<li>k is divisible by 23 and\r\n</li>\n<li>d(k)
9
+ = 23.\r\n</li>\n</ul>\r\nYou are given that S(9) = 263626 and S(42) = 6377168878570056.\r\n\r\n<p>\r\nFind
10
+ S(11<sup>12</sup>) and give your answer mod 10<sup>9</sup>.\r\n</p>\r\n\r\n"
@@ -0,0 +1,26 @@
1
+ ---
2
+ :id: 295
3
+ :name: Lenticular holes
4
+ :url: http://projecteuler.net/problem=295
5
+ :content: "\r\n<p>We call the convex area enclosed by two circles a <i>lenticular
6
+ hole</i> if:\r\n</p>\n<ul>\n<li>The centres of both circles are on lattice points.</li>\r\n<li>The
7
+ two circles intersect at two distinct lattice points.</li>\r\n<li>The interior of
8
+ the convex area enclosed by both circles does not contain any lattice points.\r\n</li>\r\n</ul>\n<p>Consider
9
+ the circles:<br>\r\nC<sub>0</sub>: <var>x</var><sup>2</sup>+<var>y</var><sup>2</sup>=25<br>\r\nC<sub>1</sub>:
10
+ (<var>x</var>+4)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=1<br>\r\nC<sub>2</sub>:
11
+ (<var>x</var>-12)<sup>2</sup>+(<var>y</var>-4)<sup>2</sup>=65\r\n</p>\r\n<p>\r\nThe
12
+ circles C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> are drawn in the picture
13
+ below.</p>\r\n<div align=\"center\"><img src=\"project/images/p295_lenticular.gif\"></div>\r\n<p>\r\nC<sub>0</sub>
14
+ and C<sub>1</sub> form a lenticular hole, as well as C<sub>0</sub> and C<sub>2</sub>.</p>\r\n<p>\r\nWe
15
+ call an ordered pair of positive real numbers (r<sub>1</sub>, r<sub>2</sub>) a <i>lenticular
16
+ pair</i> if there exist two circles with radii r<sub>1</sub> and r<sub>2</sub> that
17
+ form a lenticular hole.\r\nWe can verify that (1, 5) and (5, <img src=\"images/symbol_radic.gif\"
18
+ width=\"14\" height=\"16\" alt=\"√\" border=\"0\" style=\"vertical-align:middle;\">65)
19
+ are the lenticular pairs of the example above.</p>\r\n<p>\r\nLet L(N) be the number
20
+ of <b>distinct</b> lenticular pairs (r<sub>1</sub>, r<sub>2</sub>) for which 0 <img
21
+ src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
22
+ style=\"vertical-align:middle;\"> r<sub>1</sub><img src=\"images/symbol_le.gif\"
23
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
24
+ r<sub>2</sub><img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\"
25
+ border=\"0\" style=\"vertical-align:middle;\"> N.<br>\r\nWe can verify that L(10)
26
+ = 30 and L(100) = 3442.</p>\r\n<p>\r\nFind L(100 000).\r\n</p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"
@@ -0,0 +1,15 @@
1
+ ---
2
+ :id: 296
3
+ :name: Angular Bisector and Tangent
4
+ :url: http://projecteuler.net/problem=296
5
+ :content: "\r\n<p>\r\nGiven is an integer sided triangle <var>ABC</var> with <var>BC</var>
6
+ <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
7
+ style=\"vertical-align:middle;\"><var>AC</var> <img src=\"images/symbol_le.gif\"
8
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"><var>AB</var>.<br><var>k</var>
9
+ is the angular bisector of angle <var>ACB</var>.<br><var>m</var> is the tangent
10
+ at <var>C</var> to the circumscribed circle of <var>ABC</var>.<br><var>n</var> is
11
+ a line parallel to <var>m</var> through <var>B</var>.<br>\r\nThe intersection of
12
+ <var>n</var> and <var>k</var> is called <var>E</var>.\r\n</p>\r\n<div align=\"center\"><img
13
+ src=\"project/images/p296_bisector.gif\"></div>\r\n<p>\r\nHow many triangles <var>ABC</var>
14
+ with a perimeter not exceeding 100 000 exist such that <var>BE</var> has integral
15
+ length?\r\n</p>\r\n\r\n\r\n"
@@ -0,0 +1,19 @@
1
+ ---
2
+ :id: 297
3
+ :name: Zeckendorf Representation
4
+ :url: http://projecteuler.net/problem=297
5
+ :content: "\r\n<p>Each new term in the Fibonacci sequence is generated by adding the
6
+ previous two terms.<br>\r\nStarting with 1 and 2, the first 10 terms will be: 1,
7
+ 2, 3, 5, 8, 13, 21, 34, 55, 89.</p>\r\n\r\n<p>Every positive integer can be uniquely
8
+ written as a sum of nonconsecutive terms of the Fibonacci sequence. For example,
9
+ 100 = 3 + 8 + 89.<br>\r\nSuch a sum is called the <b>Zeckendorf representation</b>
10
+ of the number.</p>\r\n\r\n<p>For any integer <var>n</var>&gt;0, let <var>z</var>(<var>n</var>)
11
+ be the number of terms in the Zeckendorf representation of <var>n</var>.<br>\r\nThus,
12
+ <var>z</var>(5) = 1, <var>z</var>(14) = 2, <var>z</var>(100) = 3 etc.<br>\r\nAlso,
13
+ for 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
14
+ style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_lt.gif\" width=\"10\"
15
+ height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">10<sup>6</sup>,
16
+ ∑ <var>z</var>(<var>n</var>) = 7894453.</p>\r\n\r\n<p>Find ∑ <var>z</var>(<var>n</var>)
17
+ for 0<img src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
18
+ style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_lt.gif\" width=\"10\"
19
+ height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\">10<sup>17</sup>.</p>\r\n"
@@ -0,0 +1,46 @@
1
+ ---
2
+ :id: 298
3
+ :name: Selective Amnesia
4
+ :url: http://projecteuler.net/problem=298
5
+ :content: "\r\n<style type=\"text/css\">\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<p>Larry
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.</p>\r\n\r\n<p>Both players start
17
+ with empty memories. Both players always add new missed numbers to their memory
18
+ but use a different strategy in deciding which number to remove:<br>\r\nLarry's
19
+ strategy is to remove the number that hasn't been called in the longest time.<br>\r\nRobin's
20
+ strategy is to remove the number that's been in the memory the longest time.</p>\r\n\r\n<p>Example
21
+ game:<br></p>\n<center><table class=\"p298\">\n<tr>\n<th>Turn</th>\r\n <th>Called<br>number</th>\r\n
22
+ \ <th 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>\n<tr>\n<td>1</td>\r\n
24
+ \ <td>1</td>\r\n <td style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n <td
25
+ style=\"text-align:right\">1</td>\r\n <td>0</td>\r\n</tr>\n<tr>\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>\n<tr>\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>\n<tr>\n<td>4</td>\r\n
30
+ \ <td>6</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n
31
+ \ <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>0</td>\r\n</tr>\n<tr>\n<td>5</td>\r\n
32
+ \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n
33
+ \ <td style=\"text-align:right\">1,2,4,6</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>6</td>\r\n
34
+ \ <td>8</td>\r\n <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n
35
+ \ <td style=\"text-align:right\">1,2,4,6,8</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>7</td>\r\n
36
+ \ <td>10</td>\r\n <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>1</td>\r\n
37
+ \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>1</td>\r\n</tr>\n<tr>\n<td>8</td>\r\n
38
+ \ <td>2</td>\r\n <td style=\"text-align:right\">1,2,6,8,10</td>\r\n <td>1</td>\r\n
39
+ \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>2</td>\r\n</tr>\n<tr>\n<td>9</td>\r\n
40
+ \ <td>4</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n <td>1</td>\r\n
41
+ \ <td style=\"text-align:right\">2,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n<tr>\n<td>10</td>\r\n
42
+ \ <td>1</td>\r\n <td style=\"text-align:right\">1,2,4,8,10</td>\r\n <td>2</td>\r\n
43
+ \ <td style=\"text-align:right\">1,4,6,8,10</td>\r\n <td>3</td>\r\n</tr>\n</table></center>\r\n\r\n<p>Denoting
44
+ Larry's score by <var>L</var> and Robin's score by <var>R</var>, what is the expected
45
+ value of |<var>L</var>-<var>R</var>| after 50 turns? Give your answer rounded to
46
+ eight decimal places using the format x.xxxxxxxx .</p>\r\n"
@@ -0,0 +1,31 @@
1
+ ---
2
+ :id: 299
3
+ :name: Three similar triangles
4
+ :url: http://projecteuler.net/problem=299
5
+ :content: "\r\n<p>Four points with integer coordinates are selected:<br>A(<var>a</var>, 0),
6
+ B(<var>b</var>, 0), C(0, <var>c</var>) and D(0, <var>d</var>), \r\nwith 0 <img src=\"images/symbol_lt.gif\"
7
+ width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> <var>a</var> <img
8
+ src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
9
+ style=\"vertical-align:middle;\"> <var>b</var> and 0 <img src=\"images/symbol_lt.gif\"
10
+ width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> <var>c</var> <img
11
+ src=\"images/symbol_lt.gif\" width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\"
12
+ style=\"vertical-align:middle;\"> <var>d</var>.<br>\r\nPoint P, also with integer
13
+ coordinates, is chosen on the line AC so that the three triangles ABP, CDP and BDP
14
+ are all <dfn title=\"Have equal angles\">similar</dfn>.</p>\r\n<div align=\"center\"><img
15
+ src=\"project/images/p_299_ThreeSimTri.gif\"></div>\r\n<p>It is easy to prove that
16
+ the three triangles can be similar, only if <var>a</var>=<var>c</var>.</p>\r\n\r\n<p>So,
17
+ given that <var>a</var>=<var>c</var>, we are looking for triplets (<var>a</var>,<var>b</var>,<var>d</var>)
18
+ such that at least one point P (with integer coordinates) exists on AC, making the
19
+ three triangles ABP, CDP and BDP all similar.</p>\r\n\r\n<p>For example, if (<var>a</var>,<var>b</var>,<var>d</var>)=(2,3,4),
20
+ it can be easily verified that point P(1,1) satisfies the above condition. \r\nNote
21
+ that the triplets (2,3,4) and (2,4,3) are considered as distinct, although point
22
+ P(1,1) is common for both.</p>\r\n\r\n<p>If <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
23
+ width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100,
24
+ there are 92 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) such that
25
+ point P exists.<br>\r\nIf <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
26
+ width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100
27
+ 000, there are 320471 distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>)
28
+ such that point P exists.</p>\r\n<p>If <var>b</var>+<var>d</var> <img src=\"images/symbol_lt.gif\"
29
+ width=\"10\" height=\"10\" alt=\"&lt;\" border=\"0\" style=\"vertical-align:middle;\"> 100
30
+ 000 000, how many distinct triplets (<var>a</var>,<var>b</var>,<var>d</var>) are
31
+ there such that point P exists?</p>\r\n"
@@ -0,0 +1,7 @@
1
+ ---
2
+ :id: 3
3
+ :name: Largest prime factor
4
+ :url: http://projecteuler.net/problem=3
5
+ :content: "\r\n<p>The prime factors of 13195 are 5, 7, 13 and 29.</p>\r\n<p>What is
6
+ the largest prime factor of the number 600851475143 ?</p>\r\n<!--\r\nNote: This
7
+ problem has been changed recently, please check that you are using the right number.\r\n-->\r\n\r\n"
@@ -0,0 +1,12 @@
1
+ ---
2
+ :id: 30
3
+ :name: Digit fifth powers
4
+ :url: http://projecteuler.net/problem=30
5
+ :content: "\r\n\n<p>Surprisingly there are only three numbers that can be written
6
+ as the sum of fourth powers of their digits:</p>\n<blockquote>1634 = 1<sup>4</sup>
7
+ + 6<sup>4</sup> + 3<sup>4</sup> + 4<sup>4</sup><br>\n8208 = 8<sup>4</sup> + 2<sup>4</sup>
8
+ + 0<sup>4</sup> + 8<sup>4</sup><br>\n9474 = 9<sup>4</sup> + 4<sup>4</sup> + 7<sup>4</sup>
9
+ + 4<sup>4</sup>\n</blockquote>\n<p class=\"info\">As 1 = 1<sup>4</sup> is not a
10
+ sum it is not included.</p>\n<p>The sum of these numbers is 1634 + 8208 + 9474 =
11
+ 19316.</p>\n<p>Find the sum of all the numbers that can be written as the sum of
12
+ fifth powers of their digits.</p>\n\r\n"
@@ -0,0 +1,24 @@
1
+ ---
2
+ :id: 300
3
+ :name: Protein folding
4
+ :url: http://projecteuler.net/problem=300
5
+ :content: "\r\n<p>In a very simplified form, we can consider proteins as strings consisting
6
+ of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. <br>\r\nFor this problem,
7
+ the orientation of a protein is important; e.g. HPP is considered distinct from
8
+ PPH. Thus, there are 2<sup><var>n</var></sup> distinct proteins consisting of <var>n</var>
9
+ elements.</p>\r\n\r\n<p>When one encounters these strings in nature, they are always
10
+ folded in such a way that the number of H-H contact points is as large as possible,
11
+ since this is energetically advantageous.<br>\r\nAs a result, the H-elements tend
12
+ to accumulate in the inner part, with the P-elements on the outside.<br>\r\nNatural
13
+ proteins are folded in three dimensions of course, but we will only consider protein
14
+ folding in <u>two dimensions</u>.</p>\r\n\r\n<p>The figure below shows two possible
15
+ ways that our example protein could be folded (H-H contact points are shown with
16
+ red dots).</p>\r\n\r\n<div align=\"center\"><img src=\"project/images/p_300_protein.gif\"></div>\r\n\r\n<p>The
17
+ folding on the left has only six H-H contact points, thus it would never occur naturally.<br>\r\nOn
18
+ the other hand, the folding on the right has nine H-H contact points, which is optimal
19
+ for this string.</p>\r\n\r\n<p>Assuming that H and P elements are equally likely
20
+ to occur in any position along the string, the average number of H-H contact points
21
+ in an optimal folding of a random protein string of length 8 turns out to be 850 / 2<sup>8</sup>=3.3203125.</p>\r\n\r\n<p>What
22
+ is the average number of H-H contact points in an optimal folding of a random protein
23
+ string of length 15?<br>\r\nGive your answer using as many decimal places as necessary
24
+ for an exact result.</p>\r\n"
@@ -0,0 +1,25 @@
1
+ ---
2
+ :id: 301
3
+ :name: Nim
4
+ :url: http://projecteuler.net/problem=301
5
+ :content: "\r\n<p><i>Nim</i> is a game played with heaps of stones, where two players
6
+ take it in turn to remove any number of stones from any heap until no stones remain.</p>\r\n\r\n<p>We'll
7
+ consider the three-heap normal-play version of Nim, which works as follows:<br>\r\n-
8
+ At the start of the game there are three heaps of stones.<br>\r\n- On his turn the
9
+ player removes any positive number of stones from any single heap.<br>\r\n- The
10
+ first player unable to move (because no stones remain) loses.</p>\r\n\r\n<p> If
11
+ (<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>) indicates
12
+ a Nim position consisting of heaps of size <var>n</var><sub>1</sub>, <var>n</var><sub>2</sub>
13
+ and <var>n</var><sub>3</sub> then there is a simple function <var>X</var>(<var>n</var><sub>1</sub>,<var>n</var><sub>2</sub>,<var>n</var><sub>3</sub>)
14
+ — that you may look up or attempt to deduce for yourself — that returns:\r\n</p>\n<ul>\n<li>zero
15
+ if, with perfect strategy, the player about to move will eventually lose; or</li>\r\n<li>non-zero
16
+ if, with perfect strategy, the player about to move will eventually win.</li>\n</ul>\n<p>For
17
+ example <var>X</var>(1,2,3) = 0 because, no matter what the current player does,
18
+ his opponent can respond with a move that leaves two heaps of equal size, at which
19
+ point every move by the current player can be mirrored by his opponent until no
20
+ stones remain; so the current player loses. To illustrate:<br>\r\n- current player
21
+ moves to (1,2,1)<br>\r\n- opponent moves to (1,0,1)<br>\r\n- current player moves
22
+ to (0,0,1)<br>\r\n- opponent moves to (0,0,0), and so wins.</p>\r\n\r\n<p>For how
23
+ many positive integers <var>n</var> <img src=\"images/symbol_le.gif\" width=\"10\"
24
+ height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\"> 2<sup>30</sup>
25
+ does <var>X</var>(<var>n</var>,2<var>n</var>,3<var>n</var>) = 0 ?\r\n</p>\r\n\r\n"
@@ -0,0 +1,18 @@
1
+ ---
2
+ :id: 302
3
+ :name: Strong Achilles Numbers
4
+ :url: http://projecteuler.net/problem=302
5
+ :content: "\r\n<p>\r\nA positive integer <var>n</var> is <b>powerful</b> if p<sup>2</sup>
6
+ is a divisor of <var>n</var> for every prime factor p in <var>n</var>.\r\n</p>\r\n<p>\r\nA
7
+ positive integer <var>n</var> is a <b>perfect power</b> if <var>n</var> can be expressed
8
+ as a power of another positive integer.\r\n</p>\r\n<p>\r\nA positive integer <var>n</var>
9
+ is an <b>Achilles number</b> if <var>n</var> is powerful but not a perfect power.
10
+ For example, 864 and 1800 are Achilles numbers: 864 = 2<sup>5</sup>·3<sup>3</sup>
11
+ and 1800 = 2<sup>3</sup>·3<sup>2</sup>·5<sup>2</sup>.\r\n</p>\r\n<p>\r\nWe shall
12
+ call a positive integer <var>S</var> a <i>Strong Achilles number</i> if both <var>S</var>
13
+ and φ(<var>S</var>) are Achilles numbers.<sup>1</sup><br>\r\nFor example, 864 is
14
+ a Strong Achilles number: φ(864) = 288 = 2<sup>5</sup>·3<sup>2</sup>. However, 1800
15
+ isn't a Strong Achilles number because: φ(1800) = 480 = 2<sup>5</sup>·3<sup>1</sup>·5<sup>1</sup>.\r\n</p>\r\n<p>There
16
+ are 7 Strong Achilles numbers below 10<sup>4</sup> and 656 below 10<sup>8</sup>.\r\n</p>\r\n<p>\r\nHow
17
+ many Strong Achilles numbers are there below 10<sup>18</sup>?\r\n</p>\r\n<p>\r\n<sup>1</sup>
18
+ φ denotes <b>Euler's totient function</b>.\r\n</p>\r\n\r\n\r\n\r\n\r\n\r\n"
@@ -0,0 +1,11 @@
1
+ ---
2
+ :id: 303
3
+ :name: Multiples with small digits
4
+ :url: http://projecteuler.net/problem=303
5
+ :content: "\r\n<p>\r\nFor a positive integer <var>n</var>, define <var>f</var>(<var>n</var>)
6
+ as the least positive multiple of <var>n</var> that, written in base 10, uses only
7
+ digits <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
8
+ style=\"vertical-align:middle;\"> 2.</p>\r\n<p>Thus <var>f</var>(2)=2, <var>f</var>(3)=12,
9
+ <var>f</var>(7)=21, <var>f</var>(42)=210, <var>f</var>(89)=1121222.</p>\r\n<p>Also,
10
+ <img src=\"project/images/p303_formula100.gif\" style=\"vertical-align:middle\">.</p>\r\n<p>\r\nFind
11
+ <img src=\"project/images/p303_formula10000.gif\" style=\"vertical-align:middle\">.\r\n</p>\r\n\r\n"
@@ -0,0 +1,19 @@
1
+ ---
2
+ :id: 304
3
+ :name: Primonacci
4
+ :url: http://projecteuler.net/problem=304
5
+ :content: "\r\n<p>\r\nFor any positive integer <var>n</var> the function next_prime(<var>n</var>)
6
+ returns the smallest prime p <br> such that p<img src=\"images/symbol_gt.gif\" width=\"10\"
7
+ height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\"><var>n</var>.\r\n</p>\r\n<p>\r\nThe
8
+ sequence a(<var>n</var>) is defined by:<br>\r\na(1)=next_prime(10<sup>14</sup>)
9
+ and a(<var>n</var>)=next_prime(a(<var>n</var>-1)) for n<img src=\"images/symbol_gt.gif\"
10
+ width=\"10\" height=\"10\" alt=\"&gt;\" border=\"0\" style=\"vertical-align:middle;\">1.\r\n</p>\n<p></p>\r\n<p>\r\nThe
11
+ fibonacci sequence f(<var>n</var>) is defined by:\r\nf(0)=0, f(1)=1 and f(<var>n</var>)=f(<var>n</var>-1)+f(<var>n</var>-2)
12
+ for <var>n</var><img src=\"images/symbol_gt.gif\" width=\"10\" height=\"10\" alt=\"&gt;\"
13
+ border=\"0\" style=\"vertical-align:middle;\">1.\r\n</p>\r\n<p>\r\nThe sequence
14
+ b(<var>n</var>) is defined as f(a(<var>n</var>)).\r\n</p>\r\n<p>\r\nFind <img src=\"images/symbol_sum.gif\"
15
+ width=\"11\" height=\"14\" alt=\"∑\" border=\"0\" style=\"vertical-align:middle;\">b(<var>n</var>)
16
+ for 1<img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
17
+ style=\"vertical-align:middle;\"><var>n</var><img src=\"images/symbol_le.gif\" width=\"10\"
18
+ height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">100 000. \r\nGive
19
+ your answer mod 1234567891011. \r\n\r\n\r\n\r\n\r\n\r\n</p>"
@@ -0,0 +1,14 @@
1
+ ---
2
+ :id: 305
3
+ :name: Reflexive Position
4
+ :url: http://projecteuler.net/problem=305
5
+ :content: "\r\n<p>\r\nLet's call S the (infinite) string that is made by concatenating
6
+ the consecutive positive integers (starting from 1) written down in base 10.<br>
7
+ \r\nThus, S = 1234567891011121314151617181920212223242...\r\n</p>\r\n<p>\r\nIt's
8
+ easy to see that any number will show up an infinite number of times in S.\r\n</p>\r\n<p>\r\nLet's
9
+ call f(n) the starting position of the n<sup>th</sup> occurrence of n in S.<br>
10
+ \r\nFor example, f(1)=1, f(5)=81, f(12)=271 and f(7780)=111111365.\r\n</p>\r\n<p>\r\nFind
11
+ <img src=\"images/symbol_sum.gif\" width=\"11\" height=\"14\" alt=\"∑\" border=\"0\"
12
+ style=\"vertical-align:middle;\">f(3<sup>k</sup>) for 1<img src=\"images/symbol_le.gif\"
13
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">k<img
14
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">13.\r\n</p>\r\n\r\n"
@@ -0,0 +1,29 @@
1
+ ---
2
+ :id: 306
3
+ :name: Paper-strip Game
4
+ :url: http://projecteuler.net/problem=306
5
+ :content: "\r\n<p>The following game is a classic example of Combinatorial Game Theory:</p>\r\n\r\n<p>Two
6
+ players start with a strip of <var>n</var> white squares and they take alternate
7
+ turns.<br>\r\nOn each turn, a player picks two contiguous white squares and paints
8
+ them black.<br>\r\nThe first player who cannot make a move loses.</p>\r\n\r\n<p></p>\n<ul>\n<li>If
9
+ <var>n</var> = 1, there are no valid moves, so the first player loses automatically.</li>\r\n<li>If
10
+ <var>n</var> = 2, there is only one valid move, after which the second player loses.</li>\r\n<li>If
11
+ <var>n</var> = 3, there are two valid moves, but both leave a situation where the
12
+ second player loses.</li>\r\n<li>If <var>n</var> = 4, there are three valid moves
13
+ for the first player; she can win the game by painting the two middle squares.</li>\r\n<li>If
14
+ <var>n</var> = 5, there are four valid moves for the first player (shown below in
15
+ red); but no matter what she does, the second player (blue) wins.</li>\r\n</ul>\n<div
16
+ align=\"center\"><img src=\"project/images/p_306_pstrip.gif\"></div>\r\n\r\n\r\n<p>So,
17
+ for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
18
+ style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
19
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
20
+ 5, there are 3 values of <var>n</var> for which the first player can force a win.<br>\r\nSimilarly,
21
+ for 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
22
+ style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
23
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
24
+ 50, there are 40 values of <var>n</var> for which the first player can force a win.</p>\r\n\r\n<p>For
25
+ 1 <img src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\"
26
+ style=\"vertical-align:middle;\"><var>n</var> <img src=\"images/symbol_le.gif\"
27
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">
28
+ 1 000 000, how many values of <var>n</var> are there for which the first player
29
+ can force a win?</p>\r\n"
@@ -0,0 +1,12 @@
1
+ ---
2
+ :id: 307
3
+ :name: Chip Defects
4
+ :url: http://projecteuler.net/problem=307
5
+ :content: "\r\n<p>\r\n<var>k</var> defects are randomly distributed amongst <var>n</var>
6
+ integrated-circuit chips produced by a factory (any number of defects may be found
7
+ on a chip and each defect is independent of the other defects).\r\n</p>\r\n<p>\r\nLet
8
+ p(<var>k,n</var>) represent the probability that there is a chip with at least 3
9
+ defects.<br>\r\nFor instance p(3,7) <img src=\"images/symbol_asymp.gif\" width=\"11\"
10
+ height=\"9\" alt=\"≈\" border=\"0\" style=\"vertical-align:middle;\"> 0.0204081633.\r\n</p>\r\n<p>\r\nFind
11
+ p(20 000, 1 000 000) and give your answer rounded to 10 decimal places in the form
12
+ 0.abcdefghij\r\n</p>\r\n"
@@ -0,0 +1,34 @@
1
+ ---
2
+ :id: 308
3
+ :name: An amazing Prime-generating Automaton
4
+ :url: http://projecteuler.net/problem=308
5
+ :content: "\r\n<p>A program written in the programming language Fractran consists
6
+ of a list of fractions.</p>\r\n\r\n<p>The internal state of the Fractran Virtual
7
+ Machine is a positive integer, which is initially set to a seed value. Each iteration
8
+ of a Fractran program multiplies the state integer by the first fraction in the
9
+ list which will leave it an integer.</p>\r\n\r\n<p>For example, one of the Fractran
10
+ programs that John Horton Conway wrote for prime-generation consists of the following
11
+ 14 fractions:<br></p>\n<table class=\"formula\"><tr>\n<td><table class=\"frac\">\n<tr><td>17</td></tr>\n<tr><td
12
+ class=\"overline\">91</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>78</td></tr>\n<tr><td
13
+ class=\"overline\">85</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>19</td></tr>\n<tr><td
14
+ class=\"overline\">51</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>23</td></tr>\n<tr><td
15
+ class=\"overline\">38</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>29</td></tr>\n<tr><td
16
+ class=\"overline\">33</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>77</td></tr>\n<tr><td
17
+ class=\"overline\">29</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>95</td></tr>\n<tr><td
18
+ class=\"overline\">23</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>77</td></tr>\n<tr><td
19
+ class=\"overline\">19</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>1</td></tr>\n<tr><td
20
+ class=\"overline\">17</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>11</td></tr>\n<tr><td
21
+ class=\"overline\">13</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>13</td></tr>\n<tr><td
22
+ class=\"overline\">11</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>15</td></tr>\n<tr><td
23
+ class=\"overline\">2</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>1</td></tr>\n<tr><td
24
+ class=\"overline\">7</td></tr>\n</table></td>\r\n<td>,</td>\r\n<td><table class=\"frac\">\n<tr><td>55</td></tr>\n<tr><td
25
+ class=\"overline\">1</td></tr>\n</table></td>\r\n<td>.</td>\r\n</tr></table>\n<p>Starting
26
+ with the seed integer 2, successive iterations of the program produce the sequence:<br>\r\n15,
27
+ 825, 725, 1925, 2275, 425, ..., 68, <b>4</b>, 30, ..., 136, <b>8</b>, 60, ..., 544,
28
+ <b>32</b>, 240, ...</p>\r\n\r\n<p>The powers of 2 that appear in this sequence are
29
+ 2<sup>2</sup>, 2<sup>3</sup>, 2<sup>5</sup>, ...<br>\r\nIt can be shown that <i>all</i>
30
+ the powers of 2 in this sequence have prime exponents and that <i>all</i> the primes
31
+ appear as exponents of powers of 2, in proper order!</p>\r\n\r\n<p>If someone uses
32
+ the above Fractran program to solve Project Euler Problem 7 (find the 10001<sup>st</sup>
33
+ prime), how many iterations would be needed until the program produces 2<sup>10001st
34
+ prime</sup> ?\r\n</p>"
@@ -0,0 +1,17 @@
1
+ ---
2
+ :id: 309
3
+ :name: Integer Ladders
4
+ :url: http://projecteuler.net/problem=309
5
+ :content: "\r\n<p>In the classic \"Crossing Ladders\" problem, we are given the lengths
6
+ <var>x</var> and <var>y</var> of two ladders resting on the opposite walls of a
7
+ narrow, level street. We are also given the height <var>h</var> above the street
8
+ where the two ladders cross and we are asked to find the width of the street (<var>w</var>).</p>\r\n\r\n<div
9
+ align=\"center\"><img src=\"project/images/p_309_ladders.gif\"></div>\r\n\r\n<p>Here,
10
+ we are only concerned with instances where all four variables are positive integers.<br>\r\nFor
11
+ example, if <var>x</var> = 70, <var>y</var> = 119 and <var>h</var> = 30, we can
12
+ calculate that <var>w</var> = 56.</p>\r\n\r\n<p>In fact, for integer values <var>x</var>,
13
+ <var>y</var>, <var>h</var> and 0 x y x,<var>y</var>,<var>h</var>) producing integer
14
+ solutions for <var>w</var>:<br>\r\n(70, 119, 30), (74, 182, 21), (87, 105, 35),
15
+ (100, 116, 35) and (119, 175, 40).</p>\r\n\r\n<p>For integer values <var>x</var>,
16
+ <var>y</var>, <var>h</var> and 0 x y x,<var>y</var>,<var>h</var>) produce integer
17
+ solutions for <var>w</var>?</p>\r\n\r\n"
@@ -0,0 +1,18 @@
1
+ ---
2
+ :id: 31
3
+ :name: Coin sums
4
+ :url: http://projecteuler.net/problem=31
5
+ :content: "\r\n\n<p>In England the currency is made up of pound, £, and pence, p,
6
+ and there are eight coins in general circulation:</p>\n<blockquote>1p, 2p, 5p, 10p,
7
+ 20p, 50p, £1 (100p) and £2 (200p).</blockquote>\n<p>It is possible to make £2 in
8
+ the following way:</p>\n<blockquote>1<img src=\"images/symbol_times.gif\" width=\"9\"
9
+ height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">£1 + 1<img
10
+ src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
11
+ style=\"vertical-align:middle;\">50p + 2<img src=\"images/symbol_times.gif\" width=\"9\"
12
+ height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">20p + 1<img
13
+ src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
14
+ style=\"vertical-align:middle;\">5p + 1<img src=\"images/symbol_times.gif\" width=\"9\"
15
+ height=\"9\" alt=\"×\" border=\"0\" style=\"vertical-align:middle;\">2p + 3<img
16
+ src=\"images/symbol_times.gif\" width=\"9\" height=\"9\" alt=\"×\" border=\"0\"
17
+ style=\"vertical-align:middle;\">1p</blockquote>\n<p>How many different ways can
18
+ £2 be made using any number of coins?</p>\n\r\n"
@@ -0,0 +1,19 @@
1
+ ---
2
+ :id: 310
3
+ :name: Nim Square
4
+ :url: http://projecteuler.net/problem=310
5
+ :content: "\r\n<p>\r\nAlice and Bob play the game Nim Square.<br>\r\nNim Square is
6
+ just like ordinary three-heap normal play Nim, but the players may only remove a
7
+ square number of stones from a heap.<br>\r\nThe number of stones in the three heaps
8
+ is represented by the ordered triple (a,b,c).<br>\r\nIf 0<img src=\"images/symbol_le.gif\"
9
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">a<img
10
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">b<img
11
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">c<img
12
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">29
13
+ then the number of losing positions for the next player is 1160.\r\n</p>\r\n<p>\r\nFind
14
+ the number of losing positions for the next player if 0<img src=\"images/symbol_le.gif\"
15
+ width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">a<img
16
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">b<img
17
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">c<img
18
+ src=\"images/symbol_le.gif\" width=\"10\" height=\"12\" alt=\"≤\" border=\"0\" style=\"vertical-align:middle;\">100
19
+ 000.\r\n</p>\r\n\r\n\r\n"