trackler 2.2.0.1 → 2.2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/fake/config.json +4 -3
  3. data/fixtures/tracks/fruit/config.json +4 -3
  4. data/lib/trackler/track.rb +2 -2
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/{java/exercises/allergies/.meta/readme.go.tmpl → c/config/exercise_readme.go.tmpl} +0 -1
  7. data/tracks/c/exercises/acronym/README.md +47 -0
  8. data/tracks/c/exercises/all-your-base/README.md +67 -0
  9. data/tracks/c/exercises/allergies/README.md +69 -0
  10. data/tracks/c/exercises/anagram/README.md +45 -0
  11. data/tracks/c/exercises/atbash-cipher/README.md +66 -0
  12. data/tracks/c/exercises/beer-song/README.md +359 -0
  13. data/tracks/c/exercises/binary/README.md +67 -0
  14. data/tracks/c/exercises/binary-search/README.md +73 -0
  15. data/tracks/c/exercises/bob/README.md +50 -0
  16. data/tracks/c/exercises/clock/README.md +45 -0
  17. data/tracks/c/exercises/difference-of-squares/README.md +51 -0
  18. data/tracks/c/exercises/gigasecond/README.md +43 -0
  19. data/tracks/c/exercises/grains/README.md +66 -0
  20. data/tracks/c/exercises/hamming/README.md +74 -0
  21. data/tracks/c/exercises/hello-world/README.md +53 -0
  22. data/tracks/c/exercises/isogram/README.md +51 -0
  23. data/tracks/c/exercises/largest-series-product/README.md +52 -0
  24. data/tracks/c/exercises/leap/README.md +65 -0
  25. data/tracks/c/exercises/meetup/README.md +62 -0
  26. data/tracks/c/exercises/nth-prime/README.md +47 -0
  27. data/tracks/c/exercises/nucleotide-count/README.md +65 -0
  28. data/tracks/c/exercises/palindrome-products/README.md +72 -0
  29. data/tracks/c/exercises/pangram/README.md +47 -0
  30. data/tracks/c/exercises/pascals-triangle/README.md +53 -0
  31. data/tracks/c/exercises/perfect-numbers/README.md +56 -0
  32. data/tracks/c/exercises/phone-number/README.md +66 -0
  33. data/tracks/c/exercises/raindrops/README.md +56 -0
  34. data/tracks/c/exercises/react/README.md +51 -0
  35. data/tracks/c/exercises/rna-transcription/README.md +57 -0
  36. data/tracks/c/exercises/robot-simulator/README.md +66 -0
  37. data/tracks/c/exercises/roman-numerals/README.md +81 -0
  38. data/tracks/c/exercises/scrabble-score/README.md +76 -0
  39. data/tracks/c/exercises/series/README.md +59 -0
  40. data/tracks/c/exercises/sieve/README.md +66 -0
  41. data/tracks/c/exercises/space-age/README.md +56 -0
  42. data/tracks/c/exercises/sum-of-multiples/README.md +50 -0
  43. data/tracks/c/exercises/triangle/README.md +58 -0
  44. data/tracks/c/exercises/word-count/README.md +51 -0
  45. data/tracks/ceylon/README.md +3 -3
  46. data/tracks/ceylon/config/exercise-readme-insert.md +1 -0
  47. data/tracks/{java/exercises/accumulate/.meta/readme.go.tmpl → ceylon/config/exercise_readme.go.tmpl} +0 -1
  48. data/tracks/ceylon/exercises/anagram/README.md +29 -0
  49. data/tracks/ceylon/{docs/EXERCISE_README_INSERT.md → exercises/bracket-push/README.md} +12 -0
  50. data/tracks/ceylon/exercises/hamming/README.md +58 -0
  51. data/tracks/ceylon/exercises/largest-series-product/README.md +36 -0
  52. data/tracks/ceylon/exercises/leap/README.md +49 -0
  53. data/tracks/ceylon/exercises/react/README.md +35 -0
  54. data/tracks/ceylon/exercises/sieve/README.md +50 -0
  55. data/tracks/{java/exercises/acronym/.meta/readme.go.tmpl → delphi/config/exercise_readme.go.tmpl} +0 -1
  56. data/tracks/delphi/exercises/allergies/README.md +58 -0
  57. data/tracks/delphi/exercises/bank-account/README.md +51 -0
  58. data/tracks/delphi/exercises/beer-song/README.md +348 -0
  59. data/tracks/delphi/exercises/binary-search/README.md +62 -0
  60. data/tracks/delphi/exercises/bob/README.md +39 -0
  61. data/tracks/delphi/exercises/book-store/README.md +95 -0
  62. data/tracks/delphi/exercises/bowling/README.md +74 -0
  63. data/tracks/delphi/exercises/circular-buffer/README.md +71 -0
  64. data/tracks/delphi/exercises/clock/README.md +34 -0
  65. data/tracks/delphi/exercises/collatz-conjecture/README.md +54 -0
  66. data/tracks/delphi/exercises/etl/README.md +72 -0
  67. data/tracks/delphi/exercises/grains/README.md +55 -0
  68. data/tracks/delphi/exercises/hamming/README.md +63 -0
  69. data/tracks/delphi/exercises/hello-world/README.md +42 -0
  70. data/tracks/delphi/exercises/leap/README.md +54 -0
  71. data/tracks/delphi/exercises/minesweeper/README.md +51 -0
  72. data/tracks/delphi/exercises/nucleotide-count/README.md +54 -0
  73. data/tracks/delphi/exercises/perfect-numbers/README.md +45 -0
  74. data/tracks/delphi/exercises/phone-number/README.md +55 -0
  75. data/tracks/delphi/exercises/poker/README.md +33 -0
  76. data/tracks/delphi/exercises/raindrops/README.md +45 -0
  77. data/tracks/delphi/exercises/rna-transcription/README.md +46 -0
  78. data/tracks/delphi/exercises/roman-numerals/README.md +70 -0
  79. data/tracks/delphi/exercises/saddle-points/README.md +54 -0
  80. data/tracks/delphi/exercises/triangle/README.md +47 -0
  81. data/tracks/delphi/exercises/two-fer/README.md +69 -0
  82. data/tracks/delphi/exercises/wordy/README.md +84 -0
  83. data/tracks/{java/exercises/all-your-base/.meta/readme.go.tmpl → factor/config/exercise_readme.go.tmpl} +0 -1
  84. data/tracks/factor/exercises/hello-world/README.md +34 -0
  85. data/tracks/factor/exercises/isogram/README.md +32 -0
  86. data/tracks/factor/exercises/leap/README.md +46 -0
  87. data/tracks/factor/exercises/two-fer/README.md +61 -0
  88. data/tracks/haskell/config/exercise_readme.go.tmpl +16 -0
  89. data/tracks/haskell/exercises/accumulate/README.md +89 -0
  90. data/tracks/haskell/exercises/acronym/README.md +69 -0
  91. data/tracks/haskell/exercises/all-your-base/README.md +89 -0
  92. data/tracks/haskell/exercises/allergies/README.md +104 -0
  93. data/tracks/haskell/exercises/alphametics/README.md +96 -0
  94. data/tracks/haskell/exercises/anagram/README.md +91 -0
  95. data/tracks/haskell/exercises/atbash-cipher/README.md +88 -0
  96. data/tracks/haskell/exercises/bank-account/README.md +102 -0
  97. data/tracks/haskell/exercises/beer-song/README.md +401 -0
  98. data/tracks/haskell/exercises/binary/README.md +89 -0
  99. data/tracks/haskell/exercises/binary-search-tree/README.md +133 -0
  100. data/tracks/haskell/exercises/bob/README.md +72 -0
  101. data/tracks/haskell/exercises/bowling/README.md +128 -0
  102. data/tracks/haskell/exercises/bracket-push/README.md +64 -0
  103. data/tracks/haskell/exercises/change/README.md +77 -0
  104. data/tracks/haskell/exercises/clock/README.md +86 -0
  105. data/tracks/haskell/exercises/connect/README.md +88 -0
  106. data/tracks/haskell/exercises/crypto-square/README.md +128 -0
  107. data/tracks/haskell/exercises/custom-set/README.md +94 -0
  108. data/tracks/haskell/exercises/difference-of-squares/README.md +73 -0
  109. data/tracks/haskell/exercises/dominoes/README.md +72 -0
  110. data/tracks/haskell/exercises/etl/README.md +105 -0
  111. data/tracks/haskell/exercises/food-chain/README.md +145 -0
  112. data/tracks/haskell/exercises/forth/README.md +98 -0
  113. data/tracks/haskell/exercises/gigasecond/README.md +65 -0
  114. data/tracks/haskell/exercises/go-counting/README.md +109 -0
  115. data/tracks/haskell/exercises/grade-school/README.md +111 -0
  116. data/tracks/haskell/exercises/grains/README.md +88 -0
  117. data/tracks/haskell/exercises/hamming/README.md +96 -0
  118. data/tracks/haskell/exercises/hello-world/README.md +83 -0
  119. data/tracks/haskell/exercises/hexadecimal/README.md +68 -0
  120. data/tracks/haskell/exercises/house/README.md +187 -0
  121. data/tracks/haskell/exercises/kindergarten-garden/README.md +120 -0
  122. data/tracks/haskell/exercises/largest-series-product/README.md +74 -0
  123. data/tracks/haskell/exercises/leap/README.md +100 -0
  124. data/tracks/haskell/exercises/lens-person/README.md +66 -0
  125. data/tracks/haskell/exercises/linked-list/README.md +104 -0
  126. data/tracks/haskell/exercises/list-ops/README.md +64 -0
  127. data/tracks/haskell/exercises/luhn/README.md +125 -0
  128. data/tracks/haskell/exercises/matrix/README.md +125 -0
  129. data/tracks/haskell/exercises/meetup/README.md +92 -0
  130. data/tracks/haskell/exercises/minesweeper/README.md +84 -0
  131. data/tracks/haskell/exercises/nth-prime/README.md +69 -0
  132. data/tracks/haskell/exercises/nucleotide-count/README.md +87 -0
  133. data/tracks/haskell/exercises/ocr-numbers/README.md +139 -0
  134. data/tracks/haskell/exercises/octal/README.md +115 -0
  135. data/tracks/haskell/exercises/palindrome-products/README.md +115 -0
  136. data/tracks/haskell/exercises/pangram/README.md +69 -0
  137. data/tracks/haskell/exercises/parallel-letter-frequency/README.md +76 -0
  138. data/tracks/haskell/exercises/pascals-triangle/README.md +75 -0
  139. data/tracks/haskell/exercises/phone-number/README.md +88 -0
  140. data/tracks/haskell/exercises/pig-latin/README.md +78 -0
  141. data/tracks/haskell/exercises/pov/README.md +100 -0
  142. data/tracks/haskell/exercises/prime-factors/README.md +90 -0
  143. data/tracks/haskell/exercises/pythagorean-triplet/README.md +78 -0
  144. data/tracks/haskell/exercises/queen-attack/README.md +105 -0
  145. data/tracks/haskell/exercises/raindrops/README.md +78 -0
  146. data/tracks/haskell/exercises/rna-transcription/README.md +79 -0
  147. data/tracks/haskell/exercises/robot-name/README.md +90 -0
  148. data/tracks/haskell/exercises/robot-simulator/README.md +105 -0
  149. data/tracks/haskell/exercises/roman-numerals/README.md +112 -0
  150. data/tracks/haskell/exercises/run-length-encoding/README.md +84 -0
  151. data/tracks/haskell/exercises/saddle-points/README.md +87 -0
  152. data/tracks/haskell/exercises/say/README.md +123 -0
  153. data/tracks/haskell/exercises/scrabble-score/README.md +98 -0
  154. data/tracks/haskell/exercises/secret-handshake/README.md +89 -0
  155. data/tracks/haskell/exercises/series/README.md +106 -0
  156. data/tracks/haskell/exercises/sgf-parsing/README.md +146 -0
  157. data/tracks/haskell/exercises/sieve/README.md +88 -0
  158. data/tracks/haskell/exercises/simple-cipher/README.md +144 -0
  159. data/tracks/haskell/exercises/simple-linked-list/README.md +101 -0
  160. data/tracks/haskell/exercises/space-age/README.md +94 -0
  161. data/tracks/haskell/exercises/spiral-matrix/README.md +84 -0
  162. data/tracks/haskell/exercises/strain/README.md +94 -0
  163. data/tracks/haskell/exercises/sublist/README.md +80 -0
  164. data/tracks/haskell/exercises/sum-of-multiples/README.md +72 -0
  165. data/tracks/haskell/exercises/triangle/README.md +80 -0
  166. data/tracks/haskell/exercises/trinary/README.md +96 -0
  167. data/tracks/haskell/exercises/word-count/README.md +96 -0
  168. data/tracks/haskell/exercises/wordy/README.md +122 -0
  169. data/tracks/haskell/exercises/zebra-puzzle/README.md +86 -0
  170. data/tracks/haskell/exercises/zipper/README.md +85 -0
  171. data/tracks/java/config/exercise_readme.go.tmpl +16 -0
  172. data/tracks/java/exercises/accumulate/README.md +0 -1
  173. data/tracks/java/exercises/acronym/README.md +0 -1
  174. data/tracks/java/exercises/all-your-base/README.md +0 -1
  175. data/tracks/java/exercises/allergies/README.md +0 -1
  176. data/tracks/java/exercises/anagram/README.md +0 -1
  177. data/tracks/java/exercises/atbash-cipher/README.md +0 -1
  178. data/tracks/java/exercises/bank-account/README.md +0 -1
  179. data/tracks/java/exercises/beer-song/README.md +0 -1
  180. data/tracks/java/exercises/binary/README.md +0 -1
  181. data/tracks/java/exercises/binary-search/README.md +0 -1
  182. data/tracks/java/exercises/binary-search-tree/README.md +0 -1
  183. data/tracks/java/exercises/bob/README.md +0 -1
  184. data/tracks/java/exercises/book-store/README.md +0 -1
  185. data/tracks/java/exercises/bowling/README.md +0 -1
  186. data/tracks/java/exercises/bracket-push/README.md +0 -1
  187. data/tracks/java/exercises/change/README.md +0 -1
  188. data/tracks/java/exercises/circular-buffer/README.md +0 -1
  189. data/tracks/java/exercises/clock/README.md +0 -1
  190. data/tracks/java/exercises/collatz-conjecture/README.md +0 -1
  191. data/tracks/java/exercises/complex-numbers/README.md +0 -1
  192. data/tracks/java/exercises/crypto-square/README.md +0 -1
  193. data/tracks/java/exercises/custom-set/README.md +0 -1
  194. data/tracks/java/exercises/diamond/README.md +0 -1
  195. data/tracks/java/exercises/difference-of-squares/README.md +0 -1
  196. data/tracks/java/exercises/etl/README.md +0 -1
  197. data/tracks/java/exercises/flatten-array/README.md +0 -1
  198. data/tracks/java/exercises/food-chain/README.md +0 -1
  199. data/tracks/java/exercises/gigasecond/README.md +0 -1
  200. data/tracks/java/exercises/grade-school/README.md +0 -1
  201. data/tracks/java/exercises/hamming/README.md +0 -1
  202. data/tracks/java/exercises/hello-world/README.md +0 -1
  203. data/tracks/java/exercises/hexadecimal/README.md +0 -1
  204. data/tracks/java/exercises/isogram/README.md +0 -1
  205. data/tracks/java/exercises/kindergarten-garden/README.md +0 -1
  206. data/tracks/java/exercises/largest-series-product/README.md +0 -1
  207. data/tracks/java/exercises/linked-list/README.md +0 -1
  208. data/tracks/java/exercises/list-ops/README.md +0 -1
  209. data/tracks/java/exercises/luhn/README.md +0 -1
  210. data/tracks/java/exercises/matrix/README.md +0 -1
  211. data/tracks/java/exercises/meetup/README.md +0 -1
  212. data/tracks/java/exercises/minesweeper/README.md +0 -1
  213. data/tracks/java/exercises/nth-prime/README.md +0 -1
  214. data/tracks/java/exercises/nucleotide-count/README.md +0 -1
  215. data/tracks/java/exercises/ocr-numbers/README.md +0 -1
  216. data/tracks/java/exercises/octal/README.md +0 -1
  217. data/tracks/java/exercises/palindrome-products/README.md +0 -1
  218. data/tracks/java/exercises/pangram/README.md +0 -1
  219. data/tracks/java/exercises/pascals-triangle/README.md +0 -1
  220. data/tracks/java/exercises/perfect-numbers/README.md +0 -1
  221. data/tracks/java/exercises/phone-number/README.md +0 -1
  222. data/tracks/java/exercises/pig-latin/README.md +0 -1
  223. data/tracks/java/exercises/poker/README.md +0 -1
  224. data/tracks/java/exercises/prime-factors/README.md +0 -1
  225. data/tracks/java/exercises/pythagorean-triplet/README.md +0 -1
  226. data/tracks/java/exercises/queen-attack/README.md +0 -1
  227. data/tracks/java/exercises/raindrops/README.md +0 -1
  228. data/tracks/java/exercises/rectangles/README.md +0 -1
  229. data/tracks/java/exercises/rna-transcription/README.md +0 -1
  230. data/tracks/java/exercises/robot-name/README.md +0 -1
  231. data/tracks/java/exercises/robot-simulator/README.md +0 -1
  232. data/tracks/java/exercises/roman-numerals/README.md +0 -1
  233. data/tracks/java/exercises/rotational-cipher/README.md +47 -0
  234. data/tracks/java/exercises/run-length-encoding/README.md +0 -1
  235. data/tracks/java/exercises/saddle-points/README.md +0 -1
  236. data/tracks/java/exercises/scrabble-score/README.md +0 -1
  237. data/tracks/java/exercises/secret-handshake/README.md +0 -1
  238. data/tracks/java/exercises/series/README.md +0 -1
  239. data/tracks/java/exercises/sieve/README.md +0 -1
  240. data/tracks/java/exercises/simple-cipher/README.md +0 -1
  241. data/tracks/java/exercises/simple-linked-list/README.md +0 -1
  242. data/tracks/java/exercises/space-age/README.md +0 -1
  243. data/tracks/java/exercises/spiral-matrix/README.md +0 -1
  244. data/tracks/java/exercises/strain/README.md +0 -1
  245. data/tracks/java/exercises/sublist/README.md +0 -1
  246. data/tracks/java/exercises/sum-of-multiples/README.md +0 -1
  247. data/tracks/java/exercises/transpose/README.md +0 -1
  248. data/tracks/java/exercises/triangle/README.md +0 -1
  249. data/tracks/java/exercises/trinary/README.md +0 -1
  250. data/tracks/java/exercises/twelve-days/README.md +0 -1
  251. data/tracks/java/exercises/two-fer/README.md +0 -1
  252. data/tracks/java/exercises/word-count/README.md +0 -1
  253. data/tracks/java/exercises/word-search/README.md +0 -1
  254. data/tracks/java/exercises/wordy/README.md +0 -1
  255. data/tracks/javascript/config/exercise_readme.go.tmpl +16 -0
  256. data/tracks/javascript/exercises/accumulate/README.md +59 -0
  257. data/tracks/javascript/exercises/acronym/README.md +39 -0
  258. data/tracks/javascript/exercises/all-your-base/README.md +59 -0
  259. data/tracks/javascript/exercises/allergies/README.md +61 -0
  260. data/tracks/javascript/exercises/alphametics/README.md +59 -0
  261. data/tracks/javascript/exercises/anagram/README.md +37 -0
  262. data/tracks/javascript/exercises/atbash-cipher/README.md +58 -0
  263. data/tracks/javascript/exercises/beer-song/README.md +351 -0
  264. data/tracks/javascript/exercises/binary/README.md +59 -0
  265. data/tracks/javascript/exercises/binary-search/README.md +65 -0
  266. data/tracks/javascript/exercises/binary-search-tree/README.md +84 -0
  267. data/tracks/javascript/exercises/bob/README.md +42 -0
  268. data/tracks/javascript/exercises/bowling/README.md +77 -0
  269. data/tracks/javascript/exercises/bracket-push/README.md +34 -0
  270. data/tracks/javascript/exercises/circular-buffer/README.md +74 -0
  271. data/tracks/javascript/exercises/clock/README.md +37 -0
  272. data/tracks/javascript/exercises/crypto-square/README.md +98 -0
  273. data/tracks/javascript/exercises/custom-set/README.md +35 -0
  274. data/tracks/javascript/exercises/diamond/README.md +83 -0
  275. data/tracks/javascript/exercises/difference-of-squares/README.md +43 -0
  276. data/tracks/javascript/exercises/etl/README.md +75 -0
  277. data/tracks/javascript/exercises/flatten-array/README.md +42 -0
  278. data/tracks/javascript/exercises/food-chain/README.md +94 -0
  279. data/tracks/javascript/exercises/gigasecond/README.md +35 -0
  280. data/tracks/javascript/exercises/grade-school/README.md +66 -0
  281. data/tracks/javascript/exercises/grains/README.md +58 -0
  282. data/tracks/javascript/exercises/hamming/README.md +66 -0
  283. data/tracks/javascript/exercises/hello-world/README.md +132 -0
  284. data/tracks/javascript/exercises/hexadecimal/README.md +38 -0
  285. data/tracks/javascript/exercises/isogram/README.md +43 -0
  286. data/tracks/javascript/exercises/kindergarten-garden/README.md +90 -0
  287. data/tracks/javascript/exercises/largest-series-product/README.md +44 -0
  288. data/tracks/javascript/exercises/leap/README.md +57 -0
  289. data/tracks/javascript/exercises/linked-list/README.md +58 -0
  290. data/tracks/javascript/exercises/list-ops/README.md +34 -0
  291. data/tracks/javascript/exercises/luhn/README.md +95 -0
  292. data/tracks/javascript/exercises/matrix/README.md +69 -0
  293. data/tracks/javascript/exercises/meetup/README.md +54 -0
  294. data/tracks/javascript/exercises/minesweeper/README.md +54 -0
  295. data/tracks/javascript/exercises/nth-prime/README.md +39 -0
  296. data/tracks/javascript/exercises/nucleotide-count/README.md +57 -0
  297. data/tracks/javascript/exercises/ocr-numbers/README.md +109 -0
  298. data/tracks/javascript/exercises/octal/README.md +73 -0
  299. data/tracks/javascript/exercises/palindrome-products/README.md +64 -0
  300. data/tracks/javascript/exercises/pangram/README.md +39 -0
  301. data/tracks/javascript/exercises/pascals-triangle/README.md +45 -0
  302. data/tracks/javascript/exercises/perfect-numbers/README.md +48 -0
  303. data/tracks/javascript/exercises/phone-number/README.md +58 -0
  304. data/tracks/javascript/exercises/pig-latin/README.md +48 -0
  305. data/tracks/javascript/exercises/point-mutations/README.md +65 -0
  306. data/tracks/javascript/exercises/prime-factors/README.md +60 -0
  307. data/tracks/javascript/exercises/proverb/README.md +42 -0
  308. data/tracks/javascript/exercises/pythagorean-triplet/README.md +48 -0
  309. data/tracks/javascript/exercises/queen-attack/README.md +57 -0
  310. data/tracks/javascript/exercises/raindrops/README.md +48 -0
  311. data/tracks/javascript/exercises/rna-transcription/README.md +49 -0
  312. data/tracks/javascript/exercises/robot-name/README.md +46 -0
  313. data/tracks/javascript/exercises/robot-simulator/README.md +58 -0
  314. data/tracks/javascript/exercises/roman-numerals/README.md +73 -0
  315. data/tracks/javascript/exercises/run-length-encoding/README.md +54 -0
  316. data/tracks/javascript/exercises/saddle-points/README.md +57 -0
  317. data/tracks/javascript/exercises/say/README.md +93 -0
  318. data/tracks/javascript/exercises/scrabble-score/README.md +68 -0
  319. data/tracks/javascript/exercises/secret-handshake/README.md +59 -0
  320. data/tracks/javascript/exercises/series/README.md +51 -0
  321. data/tracks/javascript/exercises/sieve/README.md +58 -0
  322. data/tracks/javascript/exercises/simple-cipher/README.md +114 -0
  323. data/tracks/javascript/exercises/simple-linked-list/README.md +52 -0
  324. data/tracks/javascript/exercises/space-age/README.md +48 -0
  325. data/tracks/javascript/exercises/strain/README.md +64 -0
  326. data/tracks/javascript/exercises/sum-of-multiples/README.md +42 -0
  327. data/tracks/javascript/exercises/triangle/README.md +50 -0
  328. data/tracks/javascript/exercises/trinary/README.md +52 -0
  329. data/tracks/javascript/exercises/two-bucket/README.md +60 -0
  330. data/tracks/javascript/exercises/word-count/README.md +43 -0
  331. data/tracks/javascript/exercises/wordy/README.md +87 -0
  332. data/tracks/lua/config/exercise_readme.go.tmpl +16 -0
  333. data/tracks/lua/exercises/acronym/README.md +25 -0
  334. data/tracks/lua/exercises/all-your-base/README.md +45 -0
  335. data/tracks/lua/exercises/allergies/README.md +47 -0
  336. data/tracks/lua/exercises/alphametics/README.md +45 -0
  337. data/tracks/lua/exercises/anagram/README.md +23 -0
  338. data/tracks/lua/exercises/atbash-cipher/README.md +44 -0
  339. data/tracks/lua/exercises/bank-account/README.md +40 -0
  340. data/tracks/lua/exercises/beer-song/README.md +337 -0
  341. data/tracks/lua/exercises/binary/README.md +45 -0
  342. data/tracks/lua/exercises/binary-search/README.md +51 -0
  343. data/tracks/lua/exercises/binary-search-tree/README.md +70 -0
  344. data/tracks/lua/exercises/bob/README.md +28 -0
  345. data/tracks/lua/exercises/bowling/README.md +63 -0
  346. data/tracks/lua/exercises/bracket-push/README.md +20 -0
  347. data/tracks/lua/exercises/change/README.md +33 -0
  348. data/tracks/lua/exercises/circular-buffer/README.md +60 -0
  349. data/tracks/lua/exercises/clock/README.md +23 -0
  350. data/tracks/lua/exercises/crypto-square/README.md +84 -0
  351. data/tracks/lua/exercises/custom-set/README.md +21 -0
  352. data/tracks/lua/exercises/diamond/README.md +69 -0
  353. data/tracks/lua/exercises/difference-of-squares/README.md +29 -0
  354. data/tracks/lua/exercises/etl/README.md +61 -0
  355. data/tracks/lua/exercises/flatten-array/README.md +28 -0
  356. data/tracks/lua/exercises/food-chain/README.md +80 -0
  357. data/tracks/lua/exercises/gigasecond/README.md +21 -0
  358. data/tracks/lua/exercises/grade-school/README.md +52 -0
  359. data/tracks/lua/exercises/grains/README.md +44 -0
  360. data/tracks/lua/exercises/hamming/README.md +52 -0
  361. data/tracks/lua/exercises/hello-world/README.md +31 -0
  362. data/tracks/lua/exercises/house/README.md +123 -0
  363. data/tracks/lua/exercises/isogram/README.md +29 -0
  364. data/tracks/lua/exercises/kindergarten-garden/README.md +76 -0
  365. data/tracks/lua/exercises/largest-series-product/README.md +30 -0
  366. data/tracks/lua/exercises/leap/README.md +43 -0
  367. data/tracks/lua/exercises/linked-list/README.md +44 -0
  368. data/tracks/lua/exercises/list-ops/README.md +20 -0
  369. data/tracks/lua/exercises/luhn/README.md +81 -0
  370. data/tracks/lua/exercises/matrix/README.md +55 -0
  371. data/tracks/lua/exercises/meetup/README.md +40 -0
  372. data/tracks/lua/exercises/minesweeper/README.md +40 -0
  373. data/tracks/lua/exercises/nth-prime/README.md +25 -0
  374. data/tracks/lua/exercises/nucleotide-count/README.md +43 -0
  375. data/tracks/lua/exercises/ocr-numbers/README.md +95 -0
  376. data/tracks/lua/exercises/octal/README.md +59 -0
  377. data/tracks/lua/exercises/pangram/README.md +25 -0
  378. data/tracks/lua/exercises/pascals-triangle/README.md +31 -0
  379. data/tracks/lua/exercises/perfect-numbers/README.md +34 -0
  380. data/tracks/lua/exercises/phone-number/README.md +44 -0
  381. data/tracks/lua/exercises/pig-latin/README.md +34 -0
  382. data/tracks/lua/exercises/pov/README.md +56 -0
  383. data/tracks/lua/exercises/prime-factors/README.md +46 -0
  384. data/tracks/lua/exercises/protein-translation/README.md +59 -0
  385. data/tracks/lua/exercises/pythagorean-triplet/README.md +34 -0
  386. data/tracks/lua/exercises/rail-fence-cipher/README.md +70 -0
  387. data/tracks/lua/exercises/raindrops/README.md +34 -0
  388. data/tracks/lua/exercises/rectangles/README.md +77 -0
  389. data/tracks/lua/exercises/rna-transcription/README.md +35 -0
  390. data/tracks/lua/exercises/robot-name/README.md +32 -0
  391. data/tracks/lua/exercises/robot-simulator/README.md +44 -0
  392. data/tracks/lua/exercises/roman-numerals/README.md +59 -0
  393. data/tracks/lua/exercises/run-length-encoding/README.md +40 -0
  394. data/tracks/lua/exercises/say/README.md +79 -0
  395. data/tracks/lua/exercises/scrabble-score/README.md +54 -0
  396. data/tracks/lua/exercises/secret-handshake/README.md +45 -0
  397. data/tracks/lua/exercises/series/README.md +37 -0
  398. data/tracks/lua/exercises/sieve/README.md +44 -0
  399. data/tracks/lua/exercises/space-age/README.md +34 -0
  400. data/tracks/lua/exercises/sublist/README.md +31 -0
  401. data/tracks/lua/exercises/sum-of-multiples/README.md +28 -0
  402. data/tracks/lua/exercises/tournament/README.md +78 -0
  403. data/tracks/lua/exercises/transpose/README.md +75 -0
  404. data/tracks/lua/exercises/triangle/README.md +36 -0
  405. data/tracks/lua/exercises/variable-length-quantity/README.md +49 -0
  406. data/tracks/lua/exercises/word-count/README.md +29 -0
  407. data/tracks/lua/exercises/word-search/README.md +40 -0
  408. data/tracks/mips/config/exercise_readme.go.tmpl +16 -0
  409. data/tracks/mips/exercises/atbash-cipher/README.md +34 -0
  410. data/tracks/mips/exercises/binary/README.md +35 -0
  411. data/tracks/mips/exercises/difference-of-squares/README.md +19 -0
  412. data/tracks/mips/exercises/hamming/README.md +42 -0
  413. data/tracks/mips/exercises/hexadecimal/README.md +14 -0
  414. data/tracks/mips/exercises/isogram/README.md +19 -0
  415. data/tracks/mips/exercises/leap/README.md +33 -0
  416. data/tracks/mips/exercises/nth-prime/README.md +15 -0
  417. data/tracks/mips/exercises/octal/README.md +49 -0
  418. data/tracks/mips/exercises/raindrops/README.md +24 -0
  419. data/tracks/mips/exercises/rna-transcription/README.md +25 -0
  420. data/tracks/mips/exercises/scrabble-score/README.md +44 -0
  421. data/tracks/mips/exercises/triangle/README.md +26 -0
  422. data/tracks/mips/exercises/trinary/README.md +28 -0
  423. data/tracks/purescript/config/exercise_readme.go.tmpl +16 -0
  424. data/tracks/purescript/exercises/accumulate/README.md +35 -0
  425. data/tracks/purescript/exercises/acronym/README.md +15 -0
  426. data/tracks/purescript/exercises/all-your-base/README.md +35 -0
  427. data/tracks/purescript/exercises/allergies/README.md +37 -0
  428. data/tracks/purescript/exercises/atbash-cipher/README.md +34 -0
  429. data/tracks/purescript/exercises/binary-search/README.md +41 -0
  430. data/tracks/purescript/exercises/bob/README.md +18 -0
  431. data/tracks/purescript/exercises/bracket-push/README.md +10 -0
  432. data/tracks/purescript/exercises/crypto-square/README.md +74 -0
  433. data/tracks/purescript/exercises/diamond/README.md +59 -0
  434. data/tracks/purescript/exercises/difference-of-squares/README.md +19 -0
  435. data/tracks/purescript/exercises/etl/README.md +51 -0
  436. data/tracks/purescript/exercises/hamming/README.md +42 -0
  437. data/tracks/purescript/exercises/hello-world/README.md +21 -0
  438. data/tracks/purescript/exercises/isogram/README.md +19 -0
  439. data/tracks/purescript/exercises/largest-series-product/README.md +20 -0
  440. data/tracks/purescript/exercises/leap/README.md +33 -0
  441. data/tracks/purescript/exercises/meetup/README.md +30 -0
  442. data/tracks/purescript/exercises/pangram/README.md +15 -0
  443. data/tracks/purescript/exercises/pascals-triangle/README.md +21 -0
  444. data/tracks/purescript/exercises/raindrops/README.md +24 -0
  445. data/tracks/purescript/exercises/scrabble-score/README.md +44 -0
  446. data/tracks/purescript/exercises/triangle/README.md +26 -0
  447. data/tracks/purescript/exercises/word-count/README.md +19 -0
  448. data/tracks/r/config/exercise_readme.go.tmpl +16 -0
  449. data/tracks/r/exercises/anagram/README.md +23 -0
  450. data/tracks/r/exercises/beer-song/README.md +337 -0
  451. data/tracks/r/exercises/bob/README.md +28 -0
  452. data/tracks/r/exercises/difference-of-squares/README.md +29 -0
  453. data/tracks/r/exercises/grains/README.md +44 -0
  454. data/tracks/r/exercises/hamming/README.md +52 -0
  455. data/tracks/r/exercises/hello-world/README.md +31 -0
  456. data/tracks/r/exercises/isogram/README.md +29 -0
  457. data/tracks/r/exercises/largest-series-product/README.md +30 -0
  458. data/tracks/r/exercises/leap/README.md +43 -0
  459. data/tracks/r/exercises/luhn/README.md +81 -0
  460. data/tracks/r/exercises/pascals-triangle/README.md +31 -0
  461. data/tracks/r/exercises/perfect-numbers/README.md +34 -0
  462. data/tracks/r/exercises/phone-number/README.md +44 -0
  463. data/tracks/r/exercises/prime-factors/README.md +46 -0
  464. data/tracks/r/exercises/raindrops/README.md +34 -0
  465. data/tracks/r/exercises/rna-transcription/README.md +35 -0
  466. data/tracks/r/exercises/rotational-cipher/README.md +46 -0
  467. data/tracks/r/exercises/scrabble-score/README.md +54 -0
  468. data/tracks/r/exercises/secret-handshake/README.md +45 -0
  469. data/tracks/r/exercises/sieve/README.md +44 -0
  470. data/tracks/r/exercises/space-age/README.md +34 -0
  471. data/tracks/r/exercises/sum-of-multiples/README.md +28 -0
  472. data/tracks/r/exercises/tournament/README.md +78 -0
  473. data/tracks/r/exercises/word-count/README.md +29 -0
  474. data/tracks/rust/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +1 -1
  475. data/tracks/rust/config/exercise_readme.go.tmpl +16 -0
  476. data/tracks/rust/exercises/acronym/README.md +47 -0
  477. data/tracks/rust/exercises/all-your-base/README.md +67 -0
  478. data/tracks/rust/exercises/allergies/README.md +69 -0
  479. data/tracks/rust/exercises/alphametics/README.md +67 -0
  480. data/tracks/rust/exercises/anagram/README.md +45 -0
  481. data/tracks/rust/exercises/atbash-cipher/README.md +66 -0
  482. data/tracks/rust/exercises/beer-song/README.md +359 -0
  483. data/tracks/rust/exercises/bob/README.md +50 -0
  484. data/tracks/rust/exercises/bowling/README.md +85 -0
  485. data/tracks/rust/exercises/bracket-push/README.md +50 -0
  486. data/tracks/rust/exercises/circular-buffer/README.md +82 -0
  487. data/tracks/rust/exercises/custom-set/README.md +43 -0
  488. data/tracks/rust/exercises/difference-of-squares/README.md +51 -0
  489. data/tracks/rust/exercises/dominoes/README.md +50 -0
  490. data/tracks/rust/exercises/etl/README.md +83 -0
  491. data/tracks/rust/exercises/forth/README.md +61 -0
  492. data/tracks/rust/exercises/gigasecond/Cargo.lock +3 -3
  493. data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
  494. data/tracks/rust/exercises/gigasecond/README.md +43 -0
  495. data/tracks/rust/exercises/gigasecond/example.rs +1 -1
  496. data/tracks/rust/exercises/gigasecond/src/lib.rs +2 -2
  497. data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +10 -10
  498. data/tracks/rust/exercises/grade-school/README.md +74 -0
  499. data/tracks/rust/exercises/grains/README.md +66 -0
  500. data/tracks/rust/exercises/hamming/README.md +74 -0
  501. data/tracks/rust/exercises/hello-world/README.md +53 -0
  502. data/tracks/rust/exercises/hexadecimal/README.md +46 -0
  503. data/tracks/rust/exercises/largest-series-product/README.md +60 -0
  504. data/tracks/rust/exercises/leap/README.md +65 -0
  505. data/tracks/rust/exercises/luhn/README.md +103 -0
  506. data/tracks/rust/exercises/luhn-from/README.md +49 -0
  507. data/tracks/rust/exercises/luhn-trait/README.md +57 -0
  508. data/tracks/rust/exercises/minesweeper/README.md +62 -0
  509. data/tracks/rust/exercises/nucleotide-codons/README.md +54 -0
  510. data/tracks/rust/exercises/nucleotide-count/README.md +65 -0
  511. data/tracks/rust/exercises/ocr-numbers/README.md +117 -0
  512. data/tracks/rust/exercises/pangram/README.md +47 -0
  513. data/tracks/rust/exercises/parallel-letter-frequency/README.md +77 -0
  514. data/tracks/rust/exercises/pascals-triangle/README.md +53 -0
  515. data/tracks/rust/exercises/phone-number/README.md +66 -0
  516. data/tracks/rust/exercises/protein-translation/README.md +81 -0
  517. data/tracks/rust/exercises/queen-attack/README.md +65 -0
  518. data/tracks/rust/exercises/raindrops/README.md +56 -0
  519. data/tracks/rust/exercises/react/README.md +51 -0
  520. data/tracks/rust/exercises/rectangles/README.md +99 -0
  521. data/tracks/rust/exercises/rna-transcription/README.md +57 -0
  522. data/tracks/rust/exercises/robot-name/README.md +54 -0
  523. data/tracks/rust/exercises/robot-simulator/README.md +66 -0
  524. data/tracks/rust/exercises/roman-numerals/README.md +81 -0
  525. data/tracks/rust/exercises/rotational-cipher/README.md +68 -0
  526. data/tracks/rust/exercises/run-length-encoding/README.md +62 -0
  527. data/tracks/rust/exercises/scrabble-score/README.md +76 -0
  528. data/tracks/rust/exercises/sieve/README.md +66 -0
  529. data/tracks/rust/exercises/space-age/README.md +64 -0
  530. data/tracks/rust/exercises/sublist/README.md +53 -0
  531. data/tracks/rust/exercises/sum-of-multiples/README.md +50 -0
  532. data/tracks/rust/exercises/tournament/README.md +100 -0
  533. data/tracks/rust/exercises/triangle/README.md +71 -0
  534. data/tracks/rust/exercises/variable-length-quantity/README.md +71 -0
  535. data/tracks/rust/exercises/word-count/README.md +51 -0
  536. data/tracks/rust/exercises/wordy/README.md +95 -0
  537. data/tracks/vimscript/config/exercise_readme.go.tmpl +16 -0
  538. data/tracks/vimscript/exercises/allergies/README.md +46 -0
  539. data/tracks/vimscript/exercises/anagram/README.md +22 -0
  540. data/tracks/vimscript/exercises/atbash-cipher/README.md +43 -0
  541. data/tracks/vimscript/exercises/beer-song/README.md +336 -0
  542. data/tracks/vimscript/exercises/bob/README.md +27 -0
  543. data/tracks/vimscript/exercises/difference-of-squares/README.md +28 -0
  544. data/tracks/vimscript/exercises/etl/README.md +60 -0
  545. data/tracks/vimscript/exercises/hamming/README.md +51 -0
  546. data/tracks/vimscript/exercises/hello-world/README.md +30 -0
  547. data/tracks/vimscript/exercises/largest-series-product/README.md +29 -0
  548. data/tracks/vimscript/exercises/leap/README.md +42 -0
  549. data/tracks/vimscript/exercises/nucleotide-count/README.md +42 -0
  550. data/tracks/vimscript/exercises/pangram/README.md +24 -0
  551. data/tracks/vimscript/exercises/phone-number/README.md +43 -0
  552. data/tracks/vimscript/exercises/raindrops/README.md +33 -0
  553. data/tracks/vimscript/exercises/rna-transcription/README.md +34 -0
  554. data/tracks/vimscript/exercises/roman-numerals/README.md +58 -0
  555. data/tracks/vimscript/exercises/scrabble-score/README.md +53 -0
  556. data/tracks/vimscript/exercises/triangle/README.md +35 -0
  557. data/tracks/vimscript/exercises/word-count/README.md +28 -0
  558. metadata +466 -86
  559. data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +0 -17
  560. data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
  561. data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +0 -17
  562. data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +0 -17
  563. data/tracks/java/exercises/binary/.meta/readme.go.tmpl +0 -17
  564. data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +0 -17
  565. data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +0 -17
  566. data/tracks/java/exercises/bob/.meta/readme.go.tmpl +0 -17
  567. data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +0 -17
  568. data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +0 -17
  569. data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +0 -17
  570. data/tracks/java/exercises/change/.meta/readme.go.tmpl +0 -17
  571. data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
  572. data/tracks/java/exercises/clock/.meta/readme.go.tmpl +0 -17
  573. data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
  574. data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +0 -17
  575. data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +0 -17
  576. data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +0 -17
  577. data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +0 -17
  578. data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
  579. data/tracks/java/exercises/etl/.meta/readme.go.tmpl +0 -17
  580. data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +0 -17
  581. data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +0 -17
  582. data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
  583. data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +0 -17
  584. data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +0 -17
  585. data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +0 -17
  586. data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +0 -17
  587. data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +0 -17
  588. data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +0 -17
  589. data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
  590. data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +0 -17
  591. data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +0 -17
  592. data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +0 -17
  593. data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +0 -17
  594. data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +0 -17
  595. data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +0 -17
  596. data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +0 -17
  597. data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
  598. data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +0 -17
  599. data/tracks/java/exercises/octal/.meta/readme.go.tmpl +0 -17
  600. data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +0 -17
  601. data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +0 -17
  602. data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +0 -17
  603. data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +0 -17
  604. data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +0 -17
  605. data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +0 -17
  606. data/tracks/java/exercises/poker/.meta/readme.go.tmpl +0 -17
  607. data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +0 -17
  608. data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +0 -17
  609. data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +0 -17
  610. data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +0 -17
  611. data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +0 -17
  612. data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
  613. data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +0 -17
  614. data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
  615. data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
  616. data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +0 -17
  617. data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +0 -17
  618. data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
  619. data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +0 -17
  620. data/tracks/java/exercises/series/.meta/readme.go.tmpl +0 -17
  621. data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +0 -17
  622. data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +0 -17
  623. data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +0 -17
  624. data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +0 -17
  625. data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
  626. data/tracks/java/exercises/strain/.meta/readme.go.tmpl +0 -17
  627. data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +0 -17
  628. data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
  629. data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +0 -17
  630. data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +0 -17
  631. data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +0 -17
  632. data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +0 -17
  633. data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +0 -17
  634. data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +0 -17
  635. data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +0 -17
  636. data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +0 -17
@@ -0,0 +1,48 @@
1
+ # Space Age
2
+
3
+ Given an age in seconds, calculate how old someone would be on:
4
+
5
+ - Earth: orbital period 365.25 Earth days, or 31557600 seconds
6
+ - Mercury: orbital period 0.2408467 Earth years
7
+ - Venus: orbital period 0.61519726 Earth years
8
+ - Mars: orbital period 1.8808158 Earth years
9
+ - Jupiter: orbital period 11.862615 Earth years
10
+ - Saturn: orbital period 29.447498 Earth years
11
+ - Uranus: orbital period 84.016846 Earth years
12
+ - Neptune: orbital period 164.79132 Earth years
13
+
14
+ So if you were told someone were 1,000,000,000 seconds old, you should
15
+ be able to say that they're 31 Earth-years old.
16
+
17
+ If you're wondering why Pluto didn't make the cut, go watch [this
18
+ youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
19
+
20
+ ## Setup
21
+
22
+ Go through the setup instructions for JavaScript to
23
+ install the necessary dependencies:
24
+
25
+ http://exercism.io/languages/javascript
26
+
27
+ ## Making the Test Suite Pass
28
+
29
+ Execute the tests with:
30
+
31
+ jasmine <exercise-name>.spec.js
32
+
33
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
34
+ test the Hello World exercise:
35
+
36
+ jasmine hello-world.spec.js
37
+
38
+ In many test suites all but the first test have been skipped.
39
+
40
+ Once you get a test passing, you can unskip the next one by
41
+ changing `xit` to `it`.
42
+
43
+ ## Source
44
+
45
+ Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=01](http://pine.fm/LearnToProgram/?Chapter=01)
46
+
47
+ ## Submitting Incomplete Solutions
48
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,64 @@
1
+ # Strain
2
+
3
+ Implement the `keep` and `discard` operation on collections. Given a collection
4
+ and a predicate on the collection's elements, `keep` returns a new collection
5
+ containing those elements where the predicate is true, while `discard` returns
6
+ a new collection containing those elements where the predicate is false.
7
+
8
+ For example, given the collection of numbers:
9
+
10
+ - 1, 2, 3, 4, 5
11
+
12
+ And the predicate:
13
+
14
+ - is the number even?
15
+
16
+ Then your keep operation should produce:
17
+
18
+ - 2, 4
19
+
20
+ While your discard operation should produce:
21
+
22
+ - 1, 3, 5
23
+
24
+ Note that the union of keep and discard is all the elements.
25
+
26
+ The functions may be called `keep` and `discard`, or they may need different
27
+ names in order to not clash with existing functions or concepts in your
28
+ language.
29
+
30
+ ## Restrictions
31
+
32
+ Keep your hands off that filter/reject/whatchamacallit functionality
33
+ provided by your standard library! Solve this one yourself using other
34
+ basic tools instead.
35
+
36
+ ## Setup
37
+
38
+ Go through the setup instructions for JavaScript to
39
+ install the necessary dependencies:
40
+
41
+ http://exercism.io/languages/javascript
42
+
43
+ ## Making the Test Suite Pass
44
+
45
+ Execute the tests with:
46
+
47
+ jasmine <exercise-name>.spec.js
48
+
49
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
50
+ test the Hello World exercise:
51
+
52
+ jasmine hello-world.spec.js
53
+
54
+ In many test suites all but the first test have been skipped.
55
+
56
+ Once you get a test passing, you can unskip the next one by
57
+ changing `xit` to `it`.
58
+
59
+ ## Source
60
+
61
+ Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
62
+
63
+ ## Submitting Incomplete Solutions
64
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,42 @@
1
+ # Sum Of Multiples
2
+
3
+ Given a number, find the sum of all the multiples of particular numbers up to
4
+ but not including that number.
5
+
6
+ If we list all the natural numbers up to but not including 20 that are
7
+ multiples of either 3 or 5, we get 3, 5, 6 and 9, 10, 12, 15, and 18.
8
+
9
+ The sum of these multiples is 78.
10
+
11
+ Given a number, find the sum of the multiples of a given set of numbers,
12
+ up to but not including that number.
13
+
14
+ ## Setup
15
+
16
+ Go through the setup instructions for JavaScript to
17
+ install the necessary dependencies:
18
+
19
+ http://exercism.io/languages/javascript
20
+
21
+ ## Making the Test Suite Pass
22
+
23
+ Execute the tests with:
24
+
25
+ jasmine <exercise-name>.spec.js
26
+
27
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
28
+ test the Hello World exercise:
29
+
30
+ jasmine hello-world.spec.js
31
+
32
+ In many test suites all but the first test have been skipped.
33
+
34
+ Once you get a test passing, you can unskip the next one by
35
+ changing `xit` to `it`.
36
+
37
+ ## Source
38
+
39
+ A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
40
+
41
+ ## Submitting Incomplete Solutions
42
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,50 @@
1
+ # Triangle
2
+
3
+ Determine if a triangle is equilateral, isosceles, or scalene.
4
+
5
+ An _equilateral_ triangle has all three sides the same length.<br/>
6
+ An _isosceles_ triangle has at least two sides the same length. (It is sometimes
7
+ specified as having exactly two sides the same length, but for the purposes of
8
+ this exercise we'll say at least two.)<br/>
9
+ A _scalene_ triangle has all sides of different lengths.
10
+
11
+ ## Note
12
+
13
+ For a shape to be a triangle at all, all sides have to be of length > 0, and
14
+ the sum of the lengths of any two sides must be greater than or equal to the
15
+ length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
16
+
17
+ ## Dig Deeper
18
+
19
+ The case where the sum of the lengths of two sides _equals_ that of the
20
+ third is known as a _degenerate_ triangle - it has zero area and looks like
21
+ a single line. Feel free to add your own code/tests to check for degenerate triangles.
22
+ ## Setup
23
+
24
+ Go through the setup instructions for JavaScript to
25
+ install the necessary dependencies:
26
+
27
+ http://exercism.io/languages/javascript
28
+
29
+ ## Making the Test Suite Pass
30
+
31
+ Execute the tests with:
32
+
33
+ jasmine <exercise-name>.spec.js
34
+
35
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
36
+ test the Hello World exercise:
37
+
38
+ jasmine hello-world.spec.js
39
+
40
+ In many test suites all but the first test have been skipped.
41
+
42
+ Once you get a test passing, you can unskip the next one by
43
+ changing `xit` to `it`.
44
+
45
+ ## Source
46
+
47
+ The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
48
+
49
+ ## Submitting Incomplete Solutions
50
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,52 @@
1
+ # Trinary
2
+
3
+ Convert a trinary number, represented as a string (e.g. '102012'), to its
4
+ decimal equivalent using first principles.
5
+
6
+ The program should consider strings specifying an invalid trinary as the
7
+ value 0.
8
+
9
+ Trinary numbers contain three symbols: 0, 1, and 2.
10
+
11
+ The last place in a trinary number is the 1's place. The second to last
12
+ is the 3's place, the third to last is the 9's place, etc.
13
+
14
+ ```bash
15
+ # "102012"
16
+ 1 0 2 0 1 2 # the number
17
+ 1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
18
+ 243 + 0 + 54 + 0 + 3 + 2 = 302
19
+ ```
20
+
21
+ If your language provides a method in the standard library to perform the
22
+ conversion, pretend it doesn't exist and implement it yourself.
23
+
24
+ ## Setup
25
+
26
+ Go through the setup instructions for JavaScript to
27
+ install the necessary dependencies:
28
+
29
+ http://exercism.io/languages/javascript
30
+
31
+ ## Making the Test Suite Pass
32
+
33
+ Execute the tests with:
34
+
35
+ jasmine <exercise-name>.spec.js
36
+
37
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
38
+ test the Hello World exercise:
39
+
40
+ jasmine hello-world.spec.js
41
+
42
+ In many test suites all but the first test have been skipped.
43
+
44
+ Once you get a test passing, you can unskip the next one by
45
+ changing `xit` to `it`.
46
+
47
+ ## Source
48
+
49
+ All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
50
+
51
+ ## Submitting Incomplete Solutions
52
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,60 @@
1
+ # Two Bucket
2
+
3
+ Given two buckets of different size, demonstrate how to measure an exact number of liters by strategically transferring liters of fluid between the buckets.
4
+
5
+ Since this mathematical problem is fairly subject to interpretation / individual approach, the tests have been written specifically to expect one overarching solution.
6
+
7
+ To help, the tests provide you with which bucket to fill first. That means, when starting with the larger bucket full, you are NOT allowed at any point to have the smaller bucket full and the larger bucket empty (aka, the opposite starting point); that would defeat the purpose of comparing both approaches!
8
+
9
+ Your program will take as input:
10
+ - the size of bucket one, passed as a numeric value
11
+ - the size of bucket two, passed as a numeric value
12
+ - the desired number of liters to reach, passed as a numeric value
13
+ - which bucket to fill first, passed as a String (either 'one' or 'two')
14
+
15
+ Your program should determine:
16
+ - the total number of "moves" it should take to reach the desired number of liters, including the first fill - expects a numeric value
17
+ - which bucket should end up with the desired number of liters (let's say this is bucket A) - expects a String (either 'one' or 'two')
18
+ - how many liters are left in the other bucket (bucket B) - expects a numeric value
19
+
20
+ Note: any time a change is made to either or both buckets counts as one (1) move.
21
+
22
+ Example:
23
+ Bucket one can hold up to 7 liters, and bucket two can hold up to 11 liters. Let's say bucket one, at a given step, is holding 7 liters, and bucket two is holding 8 liters (7,8). If you empty bucket one and make no change to bucket two, leaving you with 0 liters and 8 liters respectively (0,8), that counts as one "move". Instead, if you had poured from bucket one into bucket two until bucket two was full, leaving you with 4 liters in bucket one and 11 liters in bucket two (4,11), that would count as only one "move" as well.
24
+
25
+ To conclude, the only valid moves are:
26
+ - pouring from one bucket to another
27
+ - emptying one bucket and doing nothing to the other
28
+ - filling one bucket and doing nothing to the other
29
+
30
+ Written with <3 at [Fullstack Academy](http://www.fullstackacademy.com/) by [Lindsay](http://lindsaylevine.com).
31
+
32
+ ## Setup
33
+
34
+ Go through the setup instructions for JavaScript to
35
+ install the necessary dependencies:
36
+
37
+ http://exercism.io/languages/javascript
38
+
39
+ ## Making the Test Suite Pass
40
+
41
+ Execute the tests with:
42
+
43
+ jasmine <exercise-name>.spec.js
44
+
45
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
46
+ test the Hello World exercise:
47
+
48
+ jasmine hello-world.spec.js
49
+
50
+ In many test suites all but the first test have been skipped.
51
+
52
+ Once you get a test passing, you can unskip the next one by
53
+ changing `xit` to `it`.
54
+
55
+ ## Source
56
+
57
+ Water Pouring Problem [http://demonstrations.wolfram.com/WaterPouringProblem/](http://demonstrations.wolfram.com/WaterPouringProblem/)
58
+
59
+ ## Submitting Incomplete Solutions
60
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,43 @@
1
+ # Word Count
2
+
3
+ Given a phrase, count the occurrences of each word in that phrase.
4
+
5
+ For example for the input `"olly olly in come free"`
6
+
7
+ ```plain
8
+ olly: 2
9
+ in: 1
10
+ come: 1
11
+ free: 1
12
+ ```
13
+
14
+
15
+ ## Setup
16
+
17
+ Go through the setup instructions for JavaScript to
18
+ install the necessary dependencies:
19
+
20
+ http://exercism.io/languages/javascript
21
+
22
+ ## Making the Test Suite Pass
23
+
24
+ Execute the tests with:
25
+
26
+ jasmine <exercise-name>.spec.js
27
+
28
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
29
+ test the Hello World exercise:
30
+
31
+ jasmine hello-world.spec.js
32
+
33
+ In many test suites all but the first test have been skipped.
34
+
35
+ Once you get a test passing, you can unskip the next one by
36
+ changing `xit` to `it`.
37
+
38
+ ## Source
39
+
40
+ This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
41
+
42
+ ## Submitting Incomplete Solutions
43
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,87 @@
1
+ # Wordy
2
+
3
+ Parse and evaluate simple math word problems returning the answer as an integer.
4
+
5
+
6
+ ## Iteration 1 — Addition
7
+
8
+ Add two numbers together.
9
+
10
+ > What is 5 plus 13?
11
+
12
+ Evaluates to 18.
13
+
14
+ Handle large numbers and negative numbers.
15
+
16
+
17
+ ## Iteration 2 — Subtraction, Multiplication and Division
18
+
19
+ Now, perform the other three operations.
20
+
21
+ > What is 7 minus 5?
22
+
23
+ 2
24
+
25
+ > What is 6 multiplied by 4?
26
+
27
+ 24
28
+
29
+ > What is 25 divided by 5?
30
+
31
+ 5
32
+
33
+
34
+ ## Iteration 3 — Multiple Operations
35
+
36
+ Handle a set of operations, in sequence.
37
+
38
+ Since these are verbal word problems, evaluate the expression from
39
+ left-to-right, _ignoring the typical order of operations._
40
+
41
+ > What is 5 plus 13 plus 6?
42
+
43
+ 24
44
+
45
+ > What is 3 plus 2 multiplied by 3?
46
+
47
+ 15 (i.e. not 9)
48
+
49
+
50
+ ## Bonus — Exponentials
51
+
52
+ If you'd like, handle exponentials.
53
+
54
+ > What is 2 raised to the 5th power?
55
+
56
+ 32
57
+
58
+
59
+ ## Setup
60
+
61
+ Go through the setup instructions for JavaScript to
62
+ install the necessary dependencies:
63
+
64
+ http://exercism.io/languages/javascript
65
+
66
+ ## Making the Test Suite Pass
67
+
68
+ Execute the tests with:
69
+
70
+ jasmine <exercise-name>.spec.js
71
+
72
+ Replace `<exercise-name>` with the name of the current exercise. E.g., to
73
+ test the Hello World exercise:
74
+
75
+ jasmine hello-world.spec.js
76
+
77
+ In many test suites all but the first test have been skipped.
78
+
79
+ Once you get a test passing, you can unskip the next one by
80
+ changing `xit` to `it`.
81
+
82
+ ## Source
83
+
84
+ Inspired by one of the generated questions in the Extreme Startup game. [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
85
+
86
+ ## Submitting Incomplete Solutions
87
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,16 @@
1
+ # {{ .Spec.Name }}
2
+
3
+ {{ .Spec.Description -}}
4
+ {{- with .Hints }}
5
+ {{ . }}
6
+ {{ end }}
7
+ {{- with .TrackInsert }}
8
+ {{ . }}
9
+ {{ end }}
10
+ {{- with .Spec.Credits -}}
11
+ ## Source
12
+
13
+ {{ . }}
14
+ {{ end }}
15
+ ## Submitting Incomplete Solutions
16
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,25 @@
1
+ # Acronym
2
+
3
+ Convert a phrase to its acronym.
4
+
5
+ Techies love their TLA (Three Letter Acronyms)!
6
+
7
+ Help generate some jargon by writing a program that converts a long name
8
+ like Portable Network Graphics to its acronym (PNG).
9
+
10
+
11
+ ## Running the tests
12
+
13
+ To run the tests, run the command `busted .` from within the exercise directory.
14
+
15
+ ## Further information
16
+
17
+ For more detailed information about the Lua track, including how to get help if
18
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
19
+
20
+ ## Source
21
+
22
+ Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
23
+
24
+ ## Submitting Incomplete Solutions
25
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,45 @@
1
+ # All Your Base
2
+
3
+ Convert a number, represented as a sequence of digits in one base, to any other base.
4
+
5
+ Implement general base conversion. Given a number in base **a**,
6
+ represented as a sequence of digits, convert it to base **b**.
7
+
8
+ ## Note
9
+ - Try to implement the conversion yourself.
10
+ Do not use something else to perform the conversion for you.
11
+
12
+ ## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
13
+
14
+ In positional notation, a number in base **b** can be understood as a linear
15
+ combination of powers of **b**.
16
+
17
+ The number 42, *in base 10*, means:
18
+
19
+ (4 * 10^1) + (2 * 10^0)
20
+
21
+ The number 101010, *in base 2*, means:
22
+
23
+ (1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
24
+
25
+ The number 1120, *in base 3*, means:
26
+
27
+ (1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
28
+
29
+ I think you got the idea!
30
+
31
+
32
+ *Yes. Those three numbers above are exactly the same. Congratulations!*
33
+
34
+ ## Running the tests
35
+
36
+ To run the tests, run the command `busted .` from within the exercise directory.
37
+
38
+ ## Further information
39
+
40
+ For more detailed information about the Lua track, including how to get help if
41
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
42
+
43
+
44
+ ## Submitting Incomplete Solutions
45
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,47 @@
1
+ # Allergies
2
+
3
+ Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
4
+
5
+ An allergy test produces a single numeric score which contains the
6
+ information about all the allergies the person has (that they were
7
+ tested for).
8
+
9
+ The list of items (and their value) that were tested are:
10
+
11
+ * eggs (1)
12
+ * peanuts (2)
13
+ * shellfish (4)
14
+ * strawberries (8)
15
+ * tomatoes (16)
16
+ * chocolate (32)
17
+ * pollen (64)
18
+ * cats (128)
19
+
20
+ So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
21
+
22
+ Now, given just that score of 34, your program should be able to say:
23
+
24
+ - Whether Tom is allergic to any one of those allergens listed above.
25
+ - All the allergens Tom is allergic to.
26
+
27
+ Note: a given score may include allergens **not** listed above (i.e.
28
+ allergens that score 256, 512, 1024, etc.). Your program should
29
+ ignore those components of the score. For example, if the allergy
30
+ score is 257, your program should only report the eggs (1) allergy.
31
+
32
+
33
+ ## Running the tests
34
+
35
+ To run the tests, run the command `busted .` from within the exercise directory.
36
+
37
+ ## Further information
38
+
39
+ For more detailed information about the Lua track, including how to get help if
40
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
41
+
42
+ ## Source
43
+
44
+ Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
45
+
46
+ ## Submitting Incomplete Solutions
47
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,45 @@
1
+ # Alphametics
2
+
3
+ Write a function to solve alphametics puzzles.
4
+
5
+ [Alphametics](https://en.wikipedia.org/wiki/Alphametics) is a puzzle where
6
+ letters in words are replaced with numbers.
7
+
8
+ For example `SEND + MORE = MONEY`:
9
+
10
+ ```
11
+ S E N D
12
+ M O R E +
13
+ -----------
14
+ M O N E Y
15
+ ```
16
+
17
+ Replacing these with valid numbers gives:
18
+
19
+ ```
20
+ 9 5 6 7
21
+ 1 0 8 5 +
22
+ -----------
23
+ 1 0 6 5 2
24
+ ```
25
+
26
+ This is correct because every letter is replaced by a different number and the
27
+ words, translated into numbers, then make a valid sum.
28
+
29
+ Each letter must represent a different digit, and the leading digit of
30
+ a multi-digit number must not be zero.
31
+
32
+ Write a function to solve alphametics puzzles.
33
+
34
+ ## Running the tests
35
+
36
+ To run the tests, run the command `busted .` from within the exercise directory.
37
+
38
+ ## Further information
39
+
40
+ For more detailed information about the Lua track, including how to get help if
41
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
42
+
43
+
44
+ ## Submitting Incomplete Solutions
45
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,23 @@
1
+ # Anagram
2
+
3
+ Given a word and a list of possible anagrams, select the correct sublist.
4
+
5
+ Given `"listen"` and a list of candidates like `"enlists" "google"
6
+ "inlets" "banana"` the program should return a list containing
7
+ `"inlets"`.
8
+
9
+ ## Running the tests
10
+
11
+ To run the tests, run the command `busted .` from within the exercise directory.
12
+
13
+ ## Further information
14
+
15
+ For more detailed information about the Lua track, including how to get help if
16
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
17
+
18
+ ## Source
19
+
20
+ Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
21
+
22
+ ## Submitting Incomplete Solutions
23
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.