trackler 2.2.1.103 → 2.2.1.104

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/all-your-base/canonical-data.json +43 -43
  4. data/tracks/bash/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  5. data/tracks/cfml/tasks/exercise_template/.meta/hints.md +1 -0
  6. data/tracks/csharp/config/exercise_readme.go.tmpl +4 -4
  7. data/tracks/csharp/exercises/accumulate/README.md +1 -5
  8. data/tracks/csharp/exercises/acronym/README.md +1 -3
  9. data/tracks/csharp/exercises/all-your-base/README.md +2 -4
  10. data/tracks/csharp/exercises/allergies/README.md +1 -3
  11. data/tracks/csharp/exercises/alphametics/README.md +3 -5
  12. data/tracks/csharp/exercises/anagram/README.md +1 -2
  13. data/tracks/csharp/exercises/armstrong-numbers/README.md +14 -1
  14. data/tracks/csharp/exercises/atbash-cipher/README.md +3 -3
  15. data/tracks/csharp/exercises/bank-account/README.md +1 -3
  16. data/tracks/csharp/exercises/beer-song/README.md +3 -4
  17. data/tracks/csharp/exercises/binary-search-tree/README.md +1 -2
  18. data/tracks/csharp/exercises/binary-search/README.md +1 -2
  19. data/tracks/csharp/exercises/binary/README.md +3 -2
  20. data/tracks/csharp/exercises/bob/README.md +3 -3
  21. data/tracks/csharp/exercises/book-store/README.md +6 -7
  22. data/tracks/csharp/exercises/bowling/README.md +21 -8
  23. data/tracks/csharp/exercises/bracket-push/README.md +1 -2
  24. data/tracks/csharp/exercises/change/README.md +2 -3
  25. data/tracks/csharp/exercises/circular-buffer/README.md +14 -8
  26. data/tracks/csharp/exercises/clock/README.md +1 -2
  27. data/tracks/csharp/exercises/collatz-conjecture/README.md +4 -4
  28. data/tracks/csharp/exercises/complex-numbers/README.md +1 -2
  29. data/tracks/csharp/exercises/connect/README.md +2 -4
  30. data/tracks/csharp/exercises/crypto-square/README.md +11 -10
  31. data/tracks/csharp/exercises/custom-set/README.md +1 -3
  32. data/tracks/csharp/exercises/diamond/README.md +10 -9
  33. data/tracks/csharp/exercises/difference-of-squares/README.md +1 -2
  34. data/tracks/csharp/exercises/diffie-hellman/README.md +1 -2
  35. data/tracks/csharp/exercises/dominoes/README.md +10 -3
  36. data/tracks/csharp/exercises/dot-dsl/README.md +2 -4
  37. data/tracks/csharp/exercises/error-handling/README.md +1 -3
  38. data/tracks/csharp/exercises/etl/README.md +4 -3
  39. data/tracks/csharp/exercises/flatten-array/README.md +2 -4
  40. data/tracks/csharp/exercises/food-chain/README.md +2 -3
  41. data/tracks/csharp/exercises/forth/README.md +1 -3
  42. data/tracks/csharp/exercises/gigasecond/README.md +1 -2
  43. data/tracks/csharp/exercises/go-counting/README.md +2 -4
  44. data/tracks/csharp/exercises/grade-school/README.md +1 -3
  45. data/tracks/csharp/exercises/grains/README.md +1 -3
  46. data/tracks/csharp/exercises/grep/README.md +13 -14
  47. data/tracks/csharp/exercises/hamming/README.md +1 -2
  48. data/tracks/csharp/exercises/hangman/README.md +1 -3
  49. data/tracks/csharp/exercises/hello-world/README.md +1 -2
  50. data/tracks/csharp/exercises/hexadecimal/README.md +1 -2
  51. data/tracks/csharp/exercises/house/README.md +3 -5
  52. data/tracks/csharp/exercises/isbn-verifier/README.md +34 -22
  53. data/tracks/csharp/exercises/isogram/README.md +3 -3
  54. data/tracks/csharp/exercises/kindergarten-garden/README.md +14 -15
  55. data/tracks/csharp/exercises/largest-series-product/README.md +1 -2
  56. data/tracks/csharp/exercises/leap/README.md +2 -3
  57. data/tracks/csharp/exercises/ledger/README.md +1 -3
  58. data/tracks/csharp/exercises/linked-list/README.md +11 -12
  59. data/tracks/csharp/exercises/list-ops/README.md +1 -3
  60. data/tracks/csharp/exercises/luhn/README.md +8 -9
  61. data/tracks/csharp/exercises/markdown/README.md +1 -3
  62. data/tracks/csharp/exercises/matrix/README.md +7 -6
  63. data/tracks/csharp/exercises/meetup/README.md +17 -15
  64. data/tracks/csharp/exercises/minesweeper/README.md +1 -3
  65. data/tracks/csharp/exercises/nth-prime/README.md +1 -2
  66. data/tracks/csharp/exercises/nucleotide-count/README.md +9 -24
  67. data/tracks/csharp/exercises/ocr-numbers/README.md +7 -8
  68. data/tracks/csharp/exercises/octal/README.md +7 -4
  69. data/tracks/csharp/exercises/palindrome-products/README.md +16 -18
  70. data/tracks/csharp/exercises/pangram/README.md +2 -3
  71. data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -3
  72. data/tracks/csharp/exercises/pascals-triangle/README.md +3 -4
  73. data/tracks/csharp/exercises/perfect-numbers/README.md +3 -4
  74. data/tracks/csharp/exercises/phone-number/README.md +5 -5
  75. data/tracks/csharp/exercises/pig-latin/README.md +1 -2
  76. data/tracks/csharp/exercises/poker/README.md +1 -2
  77. data/tracks/csharp/exercises/pov/README.md +4 -7
  78. data/tracks/csharp/exercises/prime-factors/README.md +1 -2
  79. data/tracks/csharp/exercises/protein-translation/README.md +6 -8
  80. data/tracks/csharp/exercises/proverb/README.md +15 -11
  81. data/tracks/csharp/exercises/pythagorean-triplet/README.md +4 -5
  82. data/tracks/csharp/exercises/queen-attack/README.md +2 -3
  83. data/tracks/csharp/exercises/rail-fence-cipher/README.md +13 -9
  84. data/tracks/csharp/exercises/raindrops/README.md +1 -2
  85. data/tracks/csharp/exercises/react/README.md +1 -3
  86. data/tracks/csharp/exercises/rectangles/README.md +17 -19
  87. data/tracks/csharp/exercises/reverse-string/README.md +16 -1
  88. data/tracks/csharp/exercises/rna-transcription/README.md +3 -4
  89. data/tracks/csharp/exercises/robot-name/README.md +1 -2
  90. data/tracks/csharp/exercises/robot-simulator/README.md +1 -2
  91. data/tracks/csharp/exercises/roman-numerals/README.md +2 -3
  92. data/tracks/csharp/exercises/rotational-cipher/README.md +3 -3
  93. data/tracks/csharp/exercises/run-length-encoding/README.md +5 -6
  94. data/tracks/csharp/exercises/saddle-points/README.md +3 -4
  95. data/tracks/csharp/exercises/say/README.md +1 -2
  96. data/tracks/csharp/exercises/scale-generator/README.md +1 -4
  97. data/tracks/csharp/exercises/scrabble-score/README.md +4 -3
  98. data/tracks/csharp/exercises/secret-handshake/README.md +2 -3
  99. data/tracks/csharp/exercises/series/README.md +1 -2
  100. data/tracks/csharp/exercises/sgf-parsing/README.md +5 -7
  101. data/tracks/csharp/exercises/sieve/README.md +1 -2
  102. data/tracks/csharp/exercises/simple-cipher/README.md +6 -9
  103. data/tracks/csharp/exercises/simple-linked-list/README.md +1 -2
  104. data/tracks/csharp/exercises/space-age/README.md +2 -3
  105. data/tracks/csharp/exercises/spiral-matrix/README.md +7 -8
  106. data/tracks/csharp/exercises/strain/README.md +1 -2
  107. data/tracks/csharp/exercises/sublist/README.md +1 -3
  108. data/tracks/csharp/exercises/sum-of-multiples/README.md +4 -8
  109. data/tracks/csharp/exercises/tournament/README.md +6 -8
  110. data/tracks/csharp/exercises/transpose/README.md +8 -9
  111. data/tracks/csharp/exercises/tree-building/README.md +4 -6
  112. data/tracks/csharp/exercises/triangle/README.md +10 -8
  113. data/tracks/csharp/exercises/trinary/README.md +2 -3
  114. data/tracks/csharp/exercises/twelve-days/README.md +2 -3
  115. data/tracks/csharp/exercises/two-bucket/README.md +11 -12
  116. data/tracks/csharp/exercises/two-fer/README.md +8 -9
  117. data/tracks/csharp/exercises/variable-length-quantity/README.md +7 -9
  118. data/tracks/csharp/exercises/word-count/README.md +2 -4
  119. data/tracks/csharp/exercises/word-search/README.md +2 -4
  120. data/tracks/csharp/exercises/wordy/README.md +1 -7
  121. data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -2
  122. data/tracks/csharp/exercises/zipper/README.md +2 -4
  123. data/tracks/dart/config.json +2 -2
  124. data/tracks/go/config/exercise_readme.go.tmpl +17 -4
  125. data/tracks/go/exercises/acronym/README.md +0 -1
  126. data/tracks/go/exercises/all-your-base/README.md +0 -1
  127. data/tracks/go/exercises/allergies/README.md +0 -1
  128. data/tracks/go/exercises/alphametics/README.md +0 -1
  129. data/tracks/go/exercises/atbash-cipher/README.md +2 -1
  130. data/tracks/go/exercises/bank-account/README.md +0 -1
  131. data/tracks/go/exercises/beer-song/README.md +2 -2
  132. data/tracks/go/exercises/binary/README.md +2 -0
  133. data/tracks/go/exercises/bowling/README.md +20 -6
  134. data/tracks/go/exercises/change/README.md +1 -1
  135. data/tracks/go/exercises/circular-buffer/README.md +13 -6
  136. data/tracks/go/exercises/collatz-conjecture/README.md +1 -1
  137. data/tracks/go/exercises/connect/README.md +1 -2
  138. data/tracks/go/exercises/counter/README.md +0 -1
  139. data/tracks/go/exercises/crypto-square/README.md +10 -8
  140. data/tracks/go/exercises/custom-set/README.md +0 -1
  141. data/tracks/go/exercises/diamond/README.md +6 -6
  142. data/tracks/go/exercises/dominoes/README.md +0 -1
  143. data/tracks/go/exercises/error-handling/README.md +0 -1
  144. data/tracks/go/exercises/etl/README.md +3 -1
  145. data/tracks/go/exercises/food-chain/README.md +1 -1
  146. data/tracks/go/exercises/forth/README.md +0 -1
  147. data/tracks/go/exercises/grade-school/README.md +0 -1
  148. data/tracks/go/exercises/grains/README.md +0 -1
  149. data/tracks/go/exercises/house/README.md +2 -3
  150. data/tracks/go/exercises/isbn-verifier/README.md +26 -21
  151. data/tracks/go/exercises/isogram/README.md +2 -1
  152. data/tracks/go/exercises/kindergarten-garden/README.md +13 -13
  153. data/tracks/go/exercises/leap/README.md +1 -1
  154. data/tracks/go/exercises/ledger/README.md +0 -1
  155. data/tracks/go/exercises/luhn/README.md +7 -7
  156. data/tracks/go/exercises/matrix/README.md +6 -4
  157. data/tracks/go/exercises/meetup/README.md +16 -13
  158. data/tracks/go/exercises/minesweeper/README.md +0 -1
  159. data/tracks/go/exercises/nucleotide-count/README.md +25 -17
  160. data/tracks/go/exercises/ocr-numbers/README.md +6 -6
  161. data/tracks/go/exercises/octal/README.md +6 -2
  162. data/tracks/go/exercises/palindrome-products/README.md +15 -16
  163. data/tracks/go/exercises/pangram/README.md +1 -1
  164. data/tracks/go/exercises/parallel-letter-frequency/README.md +0 -1
  165. data/tracks/go/exercises/pascals-triangle/README.md +2 -2
  166. data/tracks/go/exercises/pov/README.md +3 -5
  167. data/tracks/go/exercises/protein-translation/README.md +5 -6
  168. data/tracks/go/exercises/pythagorean-triplet/README.md +3 -3
  169. data/tracks/go/exercises/queen-attack/README.md +1 -1
  170. data/tracks/go/exercises/react/README.md +0 -1
  171. data/tracks/go/exercises/reverse-string/README.md +1 -1
  172. data/tracks/go/exercises/rna-transcription/README.md +2 -2
  173. data/tracks/go/exercises/robot-name/README.md +15 -0
  174. data/tracks/go/exercises/roman-numerals/README.md +1 -1
  175. data/tracks/go/exercises/rotational-cipher/README.md +0 -1
  176. data/tracks/go/exercises/run-length-encoding/README.md +21 -4
  177. data/tracks/go/exercises/saddle-points/README.md +2 -2
  178. data/tracks/go/exercises/scrabble-score/README.md +3 -1
  179. data/tracks/go/exercises/secret-handshake/README.md +1 -1
  180. data/tracks/go/exercises/simple-linked-list/README.md +1 -2
  181. data/tracks/go/exercises/space-age/README.md +1 -2
  182. data/tracks/go/exercises/spiral-matrix/README.md +1 -1
  183. data/tracks/go/exercises/sublist/README.md +0 -1
  184. data/tracks/go/exercises/sum-of-multiples/README.md +3 -6
  185. data/tracks/go/exercises/tournament/README.md +5 -6
  186. data/tracks/go/exercises/transpose/README.md +7 -7
  187. data/tracks/go/exercises/tree-building/README.md +3 -4
  188. data/tracks/go/exercises/triangle/README.md +21 -6
  189. data/tracks/go/exercises/trinary/README.md +1 -1
  190. data/tracks/go/exercises/twelve-days/README.md +2 -3
  191. data/tracks/go/exercises/two-fer/README.md +2 -31
  192. data/tracks/go/exercises/variable-length-quantity/README.md +6 -7
  193. data/tracks/go/exercises/word-count/README.md +1 -2
  194. data/tracks/go/exercises/word-search/README.md +1 -2
  195. data/tracks/go/exercises/wordy/README.md +0 -5
  196. data/tracks/groovy/config.json +11 -0
  197. data/tracks/groovy/exercises/rotational-cipher/Example.groovy +38 -0
  198. data/tracks/groovy/exercises/rotational-cipher/README.md +49 -0
  199. data/tracks/groovy/exercises/rotational-cipher/RotationalCipher.groovy +11 -0
  200. data/tracks/groovy/exercises/rotational-cipher/RotationalCipherSpec.groovy +68 -0
  201. data/tracks/haskell/exercises/acronym/package.yaml +1 -1
  202. data/tracks/haskell/exercises/acronym/test/Tests.hs +2 -6
  203. data/tracks/haskell/exercises/anagram/package.yaml +1 -1
  204. data/tracks/haskell/exercises/anagram/test/Tests.hs +0 -20
  205. data/tracks/haskell/exercises/clock/package.yaml +1 -1
  206. data/tracks/haskell/exercises/clock/test/Tests.hs +16 -9
  207. data/tracks/haskell/exercises/complex-numbers/package.yaml +1 -1
  208. data/tracks/haskell/exercises/custom-set/package.yaml +1 -1
  209. data/tracks/haskell/exercises/hamming/package.yaml +1 -1
  210. data/tracks/haskell/exercises/kindergarten-garden/package.yaml +1 -1
  211. data/tracks/haskell/exercises/matrix/package.yaml +1 -1
  212. data/tracks/haskell/exercises/matrix/test/Tests.hs +25 -13
  213. data/tracks/haskell/exercises/ocr-numbers/package.yaml +1 -1
  214. data/tracks/haskell/exercises/prime-factors/package.yaml +1 -1
  215. data/tracks/haskell/exercises/queen-attack/package.yaml +1 -1
  216. data/tracks/haskell/exercises/rail-fence-cipher/package.yaml +1 -1
  217. data/tracks/haskell/exercises/raindrops/package.yaml +1 -1
  218. data/tracks/haskell/exercises/robot-simulator/package.yaml +1 -1
  219. data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
  220. data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +4 -0
  221. data/tracks/haskell/exercises/run-length-encoding/package.yaml +1 -1
  222. data/tracks/haskell/exercises/word-count/package.yaml +1 -1
  223. data/tracks/java/config.json +0 -1
  224. data/tracks/java/exercises/forth/README.md +1 -1
  225. data/tracks/objective-c/config/exercise_readme.go.tmpl +22 -4
  226. data/tracks/objective-c/exercises/acronym/README.md +8 -3
  227. data/tracks/objective-c/exercises/all-your-base/README.md +8 -3
  228. data/tracks/objective-c/exercises/allergies/README.md +8 -3
  229. data/tracks/objective-c/exercises/anagram/README.md +8 -2
  230. data/tracks/objective-c/exercises/atbash-cipher/README.md +10 -3
  231. data/tracks/objective-c/exercises/beer-song/README.md +10 -4
  232. data/tracks/objective-c/exercises/binary-search/README.md +8 -2
  233. data/tracks/objective-c/exercises/bob/.meta/description.md +10 -0
  234. data/tracks/objective-c/exercises/bob/README.md +8 -2
  235. data/tracks/objective-c/exercises/bracket-push/README.md +8 -2
  236. data/tracks/objective-c/exercises/clock/README.md +8 -2
  237. data/tracks/objective-c/exercises/collatz-conjecture/README.md +8 -2
  238. data/tracks/objective-c/exercises/crypto-square/README.md +18 -10
  239. data/tracks/objective-c/exercises/difference-of-squares/README.md +8 -2
  240. data/tracks/objective-c/exercises/etl/README.md +11 -3
  241. data/tracks/objective-c/exercises/flatten-array/README.md +9 -4
  242. data/tracks/objective-c/exercises/gigasecond/README.md +8 -2
  243. data/tracks/objective-c/exercises/grade-school/README.md +8 -3
  244. data/tracks/objective-c/exercises/grains/README.md +8 -2
  245. data/tracks/objective-c/exercises/hamming/README.md +8 -2
  246. data/tracks/objective-c/exercises/hello-world/README.md +8 -2
  247. data/tracks/objective-c/exercises/isogram/README.md +10 -3
  248. data/tracks/objective-c/exercises/largest-series-product/README.md +8 -2
  249. data/tracks/objective-c/exercises/leap/README.md +9 -3
  250. data/tracks/objective-c/exercises/luhn/README.md +15 -9
  251. data/tracks/objective-c/exercises/meetup/README.md +24 -15
  252. data/tracks/objective-c/exercises/nth-prime/README.md +8 -2
  253. data/tracks/objective-c/exercises/nucleotide-count/README.md +16 -24
  254. data/tracks/objective-c/exercises/pangram/README.md +9 -3
  255. data/tracks/objective-c/exercises/pascals-triangle/README.md +10 -4
  256. data/tracks/objective-c/exercises/perfect-numbers/README.md +10 -4
  257. data/tracks/objective-c/exercises/phone-number/README.md +12 -5
  258. data/tracks/objective-c/exercises/raindrops/README.md +8 -2
  259. data/tracks/objective-c/exercises/rna-transcription/README.md +10 -4
  260. data/tracks/objective-c/exercises/robot-name/README.md +8 -2
  261. data/tracks/objective-c/exercises/roman-numerals/README.md +9 -3
  262. data/tracks/objective-c/exercises/run-length-encoding/README.md +12 -6
  263. data/tracks/objective-c/exercises/say/README.md +8 -2
  264. data/tracks/objective-c/exercises/scrabble-score/README.md +11 -3
  265. data/tracks/objective-c/exercises/secret-handshake/README.md +10 -4
  266. data/tracks/objective-c/exercises/sieve/README.md +8 -2
  267. data/tracks/objective-c/exercises/space-age/README.md +9 -3
  268. data/tracks/objective-c/exercises/sublist/README.md +7 -2
  269. data/tracks/objective-c/exercises/sum-of-multiples/README.md +11 -8
  270. data/tracks/objective-c/exercises/transpose/README.md +15 -9
  271. data/tracks/objective-c/exercises/triangle/README.md +17 -8
  272. data/tracks/objective-c/exercises/two-fer/README.md +8 -2
  273. data/tracks/objective-c/exercises/word-count/README.md +9 -4
  274. data/tracks/php/.travis.yml +1 -1
  275. data/tracks/php/config/exercise_readme.go.tmpl +20 -4
  276. data/tracks/php/exercises/accumulate/README.md +9 -6
  277. data/tracks/php/exercises/acronym/README.md +9 -4
  278. data/tracks/php/exercises/all-your-base/README.md +35 -11
  279. data/tracks/php/exercises/allergies/README.md +9 -4
  280. data/tracks/php/exercises/anagram/README.md +10 -4
  281. data/tracks/php/exercises/atbash-cipher/README.md +12 -5
  282. data/tracks/php/exercises/beer-song/README.md +12 -6
  283. data/tracks/php/exercises/binary-search/README.md +10 -4
  284. data/tracks/php/exercises/binary/README.md +12 -4
  285. data/tracks/php/exercises/bob/.meta/description.md +10 -0
  286. data/tracks/php/exercises/bob/README.md +10 -4
  287. data/tracks/php/exercises/book-store/README.md +15 -9
  288. data/tracks/php/exercises/bowling/README.md +30 -10
  289. data/tracks/php/exercises/bracket-push/README.md +10 -4
  290. data/tracks/php/exercises/change/README.md +11 -5
  291. data/tracks/php/exercises/clock/README.md +10 -4
  292. data/tracks/php/exercises/collatz-conjecture/README.md +10 -4
  293. data/tracks/php/exercises/connect/README.md +11 -6
  294. data/tracks/php/exercises/crypto-square/README.md +10 -4
  295. data/tracks/php/exercises/difference-of-squares/README.md +10 -4
  296. data/tracks/php/exercises/etl/README.md +13 -5
  297. data/tracks/php/exercises/flatten-array/README.md +10 -4
  298. data/tracks/php/exercises/gigasecond/README.md +10 -4
  299. data/tracks/php/exercises/grade-school/README.md +10 -5
  300. data/tracks/php/exercises/grains/README.md +10 -5
  301. data/tracks/php/exercises/hamming/README.md +10 -4
  302. data/tracks/php/exercises/hello-world/README.md +10 -4
  303. data/tracks/php/exercises/isogram/README.md +12 -5
  304. data/tracks/php/exercises/largest-series-product/README.md +10 -4
  305. data/tracks/php/exercises/leap/README.md +11 -5
  306. data/tracks/php/exercises/luhn/README.md +17 -11
  307. data/tracks/php/exercises/markdown/README.md +10 -5
  308. data/tracks/php/exercises/meetup/README.md +45 -12
  309. data/tracks/php/exercises/meetup/example.php +0 -2
  310. data/tracks/php/exercises/meetup/meetup_test.php +0 -2
  311. data/tracks/php/exercises/minesweeper/README.md +10 -5
  312. data/tracks/php/exercises/nth-prime/README.md +10 -4
  313. data/tracks/php/exercises/nucleotide-count/README.md +15 -23
  314. data/tracks/php/exercises/ocr-numbers/README.md +16 -10
  315. data/tracks/php/exercises/pangram/README.md +11 -5
  316. data/tracks/php/exercises/pascals-triangle/README.md +12 -6
  317. data/tracks/php/exercises/perfect-numbers/README.md +12 -6
  318. data/tracks/php/exercises/phone-number/README.md +14 -7
  319. data/tracks/php/exercises/pig-latin/README.md +10 -4
  320. data/tracks/php/exercises/prime-factors/README.md +10 -4
  321. data/tracks/php/exercises/queen-attack/README.md +11 -5
  322. data/tracks/php/exercises/rail-fence-cipher/README.md +10 -4
  323. data/tracks/php/exercises/raindrops/README.md +10 -4
  324. data/tracks/php/exercises/rna-transcription/README.md +11 -5
  325. data/tracks/php/exercises/robot-name/README.md +10 -4
  326. data/tracks/php/exercises/robot-simulator/README.md +10 -4
  327. data/tracks/php/exercises/roman-numerals/README.md +11 -5
  328. data/tracks/php/exercises/run-length-encoding/README.md +13 -4
  329. data/tracks/php/exercises/scrabble-score/README.md +13 -5
  330. data/tracks/php/exercises/series/README.md +27 -0
  331. data/tracks/php/exercises/series/example.php +0 -2
  332. data/tracks/php/exercises/series/series_test.php +0 -1
  333. data/tracks/php/exercises/sieve/README.md +10 -4
  334. data/tracks/php/exercises/space-age/README.md +11 -5
  335. data/tracks/php/exercises/sum-of-multiples/README.md +12 -9
  336. data/tracks/php/exercises/transpose/README.md +10 -4
  337. data/tracks/php/exercises/triangle/README.md +19 -10
  338. data/tracks/php/exercises/trinary/README.md +11 -5
  339. data/tracks/php/exercises/variable-length-quantity/README.md +16 -11
  340. data/tracks/php/exercises/word-count/README.md +10 -5
  341. data/tracks/php/exercises/wordy/README.md +9 -8
  342. data/tracks/rust/config/exercise_readme.go.tmpl +32 -4
  343. data/tracks/rust/exercises/all-your-base/README.md +0 -1
  344. data/tracks/rust/exercises/alphametics/README.md +0 -1
  345. data/tracks/rust/exercises/custom-set/README.md +0 -1
  346. data/tracks/rust/exercises/dominoes/README.md +0 -1
  347. data/tracks/rust/exercises/forth/README.md +0 -1
  348. data/tracks/rust/exercises/isbn-verifier/README.md +1 -1
  349. data/tracks/rust/exercises/minesweeper/README.md +0 -1
  350. data/tracks/rust/exercises/nucleotide-codons/README.md +0 -1
  351. data/tracks/rust/exercises/parallel-letter-frequency/README.md +0 -1
  352. data/tracks/rust/exercises/protein-translation/README.md +2 -2
  353. data/tracks/rust/exercises/react/README.md +0 -1
  354. data/tracks/rust/exercises/rectangles/README.md +0 -1
  355. data/tracks/rust/exercises/reverse-string/README.md +1 -1
  356. data/tracks/rust/exercises/rna-transcription/.meta/hints.md +9 -0
  357. data/tracks/rust/exercises/rna-transcription/README.md +12 -1
  358. data/tracks/rust/exercises/rna-transcription/example.rs +66 -27
  359. data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +52 -19
  360. data/tracks/rust/exercises/sublist/README.md +0 -1
  361. data/tracks/rust/exercises/tournament/README.md +0 -1
  362. data/tracks/swift/config/exercise_readme.go.tmpl +7 -4
  363. data/tracks/swift/exercises/accumulate/README.md +0 -3
  364. data/tracks/swift/exercises/acronym/README.md +0 -1
  365. data/tracks/swift/exercises/all-your-base/README.md +1 -2
  366. data/tracks/swift/exercises/allergies/README.md +0 -1
  367. data/tracks/swift/exercises/atbash-cipher/README.md +2 -1
  368. data/tracks/swift/exercises/beer-song/README.md +2 -2
  369. data/tracks/swift/exercises/binary/README.md +2 -0
  370. data/tracks/swift/exercises/bob/.meta/description.md +10 -0
  371. data/tracks/swift/exercises/bowling/README.md +20 -6
  372. data/tracks/swift/exercises/circular-buffer/README.md +21 -13
  373. data/tracks/swift/exercises/collatz-conjecture/README.md +1 -1
  374. data/tracks/swift/exercises/crypto-square/README.md +10 -8
  375. data/tracks/swift/exercises/custom-set/README.md +0 -1
  376. data/tracks/swift/exercises/diamond/README.md +3 -0
  377. data/tracks/swift/exercises/dominoes/README.md +3 -4
  378. data/tracks/swift/exercises/etl/README.md +3 -1
  379. data/tracks/swift/exercises/flatten-array/README.md +1 -2
  380. data/tracks/swift/exercises/food-chain/README.md +1 -1
  381. data/tracks/swift/exercises/grade-school/README.md +0 -1
  382. data/tracks/swift/exercises/grains/README.md +0 -1
  383. data/tracks/swift/exercises/house/README.md +2 -3
  384. data/tracks/swift/exercises/isbn-verifier/README.md +32 -16
  385. data/tracks/swift/exercises/isogram/README.md +2 -1
  386. data/tracks/swift/exercises/kindergarten-garden/README.md +13 -13
  387. data/tracks/swift/exercises/leap/README.md +1 -1
  388. data/tracks/swift/exercises/linked-list/README.md +10 -10
  389. data/tracks/swift/exercises/list-ops/README.md +1 -0
  390. data/tracks/swift/exercises/luhn/README.md +7 -7
  391. data/tracks/swift/exercises/matrix/README.md +6 -4
  392. data/tracks/swift/exercises/meetup/README.md +16 -13
  393. data/tracks/swift/exercises/minesweeper/README.md +0 -1
  394. data/tracks/swift/exercises/nucleotide-count/README.md +8 -22
  395. data/tracks/swift/exercises/ocr-numbers/README.md +6 -6
  396. data/tracks/swift/exercises/octal/README.md +6 -2
  397. data/tracks/swift/exercises/palindrome-products/README.md +15 -16
  398. data/tracks/swift/exercises/pangram/README.md +1 -1
  399. data/tracks/swift/exercises/pascals-triangle/README.md +2 -2
  400. data/tracks/swift/exercises/perfect-numbers/README.md +2 -2
  401. data/tracks/swift/exercises/phone-number/README.md +4 -3
  402. data/tracks/swift/exercises/protein-translation/README.md +4 -4
  403. data/tracks/swift/exercises/pythagorean-triplet/README.md +3 -3
  404. data/tracks/swift/exercises/queen-attack/README.md +1 -1
  405. data/tracks/swift/exercises/rna-transcription/README.md +2 -2
  406. data/tracks/swift/exercises/roman-numerals/README.md +1 -1
  407. data/tracks/swift/exercises/run-length-encoding/README.md +4 -4
  408. data/tracks/swift/exercises/saddle-points/README.md +2 -2
  409. data/tracks/swift/exercises/say/README.md +1 -1
  410. data/tracks/swift/exercises/scrabble-score/README.md +3 -1
  411. data/tracks/swift/exercises/secret-handshake/README.md +2 -2
  412. data/tracks/swift/exercises/simple-cipher/README.md +5 -7
  413. data/tracks/swift/exercises/space-age/README.md +1 -1
  414. data/tracks/swift/exercises/sublist/README.md +0 -1
  415. data/tracks/swift/exercises/sum-of-multiples/README.md +3 -6
  416. data/tracks/swift/exercises/tournament/README.md +5 -6
  417. data/tracks/swift/exercises/transpose/README.md +7 -7
  418. data/tracks/swift/exercises/triangle/README.md +9 -6
  419. data/tracks/swift/exercises/trinary/README.md +1 -1
  420. data/tracks/swift/exercises/twelve-days/README.md +1 -1
  421. data/tracks/swift/exercises/two-fer/README.md +2 -29
  422. data/tracks/swift/exercises/word-count/README.md +1 -2
  423. data/tracks/swift/exercises/wordy/README.md +0 -5
  424. metadata +12 -10
  425. data/tracks/cfml/tasks/exercise_template/.meta/HINTS.md +0 -0
  426. data/tracks/csharp/docs/EXERCISE_README_INSERT.md +0 -5
  427. data/tracks/go/docs/EXERCISE_README_INSERT.md +0 -16
  428. data/tracks/java/exercises/forth/.meta/readme.go.tmpl +0 -17
  429. data/tracks/objective-c/docs/EXERCISE_README_INSERT.md +0 -15
  430. data/tracks/php/docs/EXERCISE_README_INSERT.md +0 -13
  431. data/tracks/rust/config/exercise-readme-insert.md +0 -31
  432. data/tracks/swift/docs/EXERCISE_README_INSERT.md +0 -6
@@ -2,13 +2,14 @@
2
2
 
3
3
  Determine if a word or phrase is an isogram.
4
4
 
5
- An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter.
5
+ An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter, however spaces and hyphens are allowed to appear multiple times.
6
6
 
7
7
  Examples of isograms:
8
8
 
9
9
  - lumberjacks
10
10
  - background
11
11
  - downstream
12
+ - six-year-old
12
13
 
13
14
  The word *isograms*, however, is not an isogram, because the s repeats.
14
15
 
@@ -3,19 +3,19 @@
3
3
  Given a diagram, determine which plants each child in the kindergarten class is
4
4
  responsible for.
5
5
 
6
- The kindergarten class is learning about growing plants. The teachers
6
+ The kindergarten class is learning about growing plants. The teacher
7
7
  thought it would be a good idea to give them actual seeds, plant them in
8
8
  actual dirt, and grow actual plants.
9
9
 
10
10
  They've chosen to grow grass, clover, radishes, and violets.
11
11
 
12
- To this end, they've put little styrofoam cups along the window sills,
13
- and planted one type of plant in each cup, choosing randomly from the
14
- available types of seeds.
12
+ To this end, the children have put little cups along the window sills, and
13
+ planted one type of plant in each cup, choosing randomly from the available
14
+ types of seeds.
15
15
 
16
- ```plain
16
+ ```text
17
17
  [window][window][window]
18
- ........................ # each dot represents a styrofoam cup
18
+ ........................ # each dot represents a cup
19
19
  ........................
20
20
  ```
21
21
 
@@ -25,27 +25,27 @@ There are 12 children in the class:
25
25
  - Eve, Fred, Ginny, Harriet,
26
26
  - Ileana, Joseph, Kincaid, and Larry.
27
27
 
28
- Each child gets 4 cups, two on each row. The children are assigned to
29
- cups in alphabetical order.
28
+ Each child gets 4 cups, two on each row. Their teacher assigns cups to
29
+ the children alphabetically by their names.
30
30
 
31
31
  The following diagram represents Alice's plants:
32
32
 
33
- ```plain
33
+ ```text
34
34
  [window][window][window]
35
35
  VR......................
36
36
  RG......................
37
37
  ```
38
38
 
39
- So in the row nearest the window, she has a violet and a radish; in the
40
- row behind that, she has a radish and some grass.
39
+ In the first row, nearest the windows, she has a violet and a radish. In the
40
+ second row she has a radish and some grass.
41
41
 
42
42
  Your program will be given the plants from left-to-right starting with
43
43
  the row nearest the windows. From this, it should be able to determine
44
- which plants belong to which students.
44
+ which plants belong to each student.
45
45
 
46
46
  For example, if it's told that the garden looks like so:
47
47
 
48
- ```plain
48
+ ```text
49
49
  [window][window][window]
50
50
  VRCGVVRVCGGCCGVRGCVCGCGV
51
51
  VRCCCGCRRGVCGCRVVCVGCGCV
@@ -4,7 +4,7 @@ Given a year, report if it is a leap year.
4
4
 
5
5
  The tricky thing here is that a leap year in the Gregorian calendar occurs:
6
6
 
7
- ```plain
7
+ ```text
8
8
  on every year that is evenly divisible by 4
9
9
  except every year that is evenly divisible by 100
10
10
  unless the year is also evenly divisible by 400
@@ -2,18 +2,18 @@
2
2
 
3
3
  Implement a doubly linked list.
4
4
 
5
- Like an array, a linked list is a simple linear data structure. Several
6
- common data types can be implemented using linked lists, like queues,
5
+ Like an array, a linked list is a simple linear data structure. Several
6
+ common data types can be implemented using linked lists, like queues,
7
7
  stacks, and associative arrays.
8
8
 
9
- A linked list is a collection of data elements called *nodes*. In a
10
- *singly linked list* each node holds a value and a link to the next node.
11
- In a *doubly linked list* each node also holds a link to the previous
9
+ A linked list is a collection of data elements called *nodes*. In a
10
+ *singly linked list* each node holds a value and a link to the next node.
11
+ In a *doubly linked list* each node also holds a link to the previous
12
12
  node.
13
13
 
14
- You will write an implementation of a doubly linked list. Implement a
15
- Node to hold a value and pointers to the next and previous nodes. Then
16
- implement a List which holds references to the first and last node and
14
+ You will write an implementation of a doubly linked list. Implement a
15
+ Node to hold a value and pointers to the next and previous nodes. Then
16
+ implement a List which holds references to the first and last node and
17
17
  offers an array-like interface for adding and removing items:
18
18
 
19
19
  * `push` (*insert value at back*);
@@ -21,8 +21,8 @@ offers an array-like interface for adding and removing items:
21
21
  * `shift` (*remove value at front*).
22
22
  * `unshift` (*insert value at front*);
23
23
 
24
- To keep your implementation simple, the tests will not cover error
25
- conditions. Specifically: `pop` or `shift` will never be called on an
24
+ To keep your implementation simple, the tests will not cover error
25
+ conditions. Specifically: `pop` or `shift` will never be called on an
26
26
  empty list.
27
27
 
28
28
  If you want to know more about linked lists, check [Wikipedia](https://en.wikipedia.org/wiki/Linked_list).
@@ -12,5 +12,6 @@ Go through the project setup instructions for Xcode using Swift:
12
12
 
13
13
  http://exercism.io/languages/swift
14
14
 
15
+
15
16
  ## Submitting Incomplete Solutions
16
17
  It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -18,27 +18,27 @@ are disallowed.
18
18
 
19
19
  ## Example 1: valid credit card number
20
20
 
21
- ```
21
+ ```text
22
22
  4539 1488 0343 6467
23
23
  ```
24
24
 
25
25
  The first step of the Luhn algorithm is to double every second digit,
26
26
  starting from the right. We will be doubling
27
27
 
28
- ```
28
+ ```text
29
29
  4_3_ 1_8_ 0_4_ 6_6_
30
30
  ```
31
31
 
32
32
  If doubling the number results in a number greater than 9 then subtract 9
33
33
  from the product. The results of our doubling:
34
34
 
35
- ```
35
+ ```text
36
36
  8569 2478 0383 3437
37
37
  ```
38
38
 
39
39
  Then sum all of the digits:
40
40
 
41
- ```
41
+ ```text
42
42
  8+5+6+9+2+4+7+8+0+3+8+3+3+4+3+7 = 80
43
43
  ```
44
44
 
@@ -46,19 +46,19 @@ If the sum is evenly divisible by 10, then the number is valid. This number is v
46
46
 
47
47
  ## Example 2: invalid credit card number
48
48
 
49
- ```
49
+ ```text
50
50
  8273 1232 7352 0569
51
51
  ```
52
52
 
53
53
  Double the second digits, starting from the right
54
54
 
55
- ```
55
+ ```text
56
56
  7253 2262 5312 0539
57
57
  ```
58
58
 
59
59
  Sum the digits
60
60
 
61
- ```
61
+ ```text
62
62
  7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57
63
63
  ```
64
64
 
@@ -5,13 +5,15 @@ that matrix.
5
5
 
6
6
  So given a string with embedded newlines like:
7
7
 
8
- > 9 8 7
9
- > 5 3 2
10
- > 6 6 7
8
+ ```text
9
+ 9 8 7
10
+ 5 3 2
11
+ 6 6 7
12
+ ```
11
13
 
12
14
  representing this matrix:
13
15
 
14
- ```plain
16
+ ```text
15
17
  0 1 2
16
18
  |---------
17
19
  0 | 9 8 7
@@ -2,26 +2,29 @@
2
2
 
3
3
  Calculate the date of meetups.
4
4
 
5
- Typically meetups happen on the same day of the week. In this exercise, you will take
6
- a description of a meetup date, and return the actual meetup date.
5
+ Typically meetups happen on the same day of the week. In this exercise, you
6
+ will take a description of a meetup date, and return the actual meetup date.
7
7
 
8
8
  Examples of general descriptions are:
9
9
 
10
- - the first Monday of January 2017
11
- - the third Tuesday of January 2017
12
- - the Wednesteenth of January 2017
13
- - the last Thursday of January 2017
10
+ - The first Monday of January 2017
11
+ - The third Tuesday of January 2017
12
+ - The wednesteenth of January 2017
13
+ - The last Thursday of January 2017
14
14
 
15
- Note that "Monteenth", "Tuesteenth", etc are all made up words. There
16
- was a meetup whose members realized that there are exactly 7 numbered days in a month that
17
- end in '-teenth'. Therefore, one is guaranteed that each day of the week
15
+ The descriptors you are expected to parse are:
16
+ first, second, third, fourth, fifth, last, monteenth, tuesteenth, wednesteenth,
17
+ thursteenth, friteenth, saturteenth, sunteenth
18
+
19
+ Note that "monteenth", "tuesteenth", etc are all made up words. There was a
20
+ meetup whose members realized that there are exactly 7 numbered days in a month
21
+ that end in '-teenth'. Therefore, one is guaranteed that each day of the week
18
22
  (Monday, Tuesday, ...) will have exactly one date that is named with '-teenth'
19
23
  in every month.
20
24
 
21
- Given examples of a meetup dates, each containing a month, day, year, and descriptor
22
- (first, second, teenth, etc), calculate the date of the actual meetup.
23
- For example, if given "First Monday of January 2017", the correct meetup date is 2017/1/2
24
-
25
+ Given examples of a meetup dates, each containing a month, day, year, and
26
+ descriptor calculate the date of the actual meetup. For example, if given
27
+ "The first Monday of January 2017", the correct meetup date is 2017/1/2.
25
28
 
26
29
  ## Setup
27
30
 
@@ -33,6 +33,5 @@ Go through the project setup instructions for Xcode using Swift:
33
33
  http://exercism.io/languages/swift
34
34
 
35
35
 
36
-
37
36
  ## Submitting Incomplete Solutions
38
37
  It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -1,30 +1,16 @@
1
1
  # Nucleotide Count
2
2
 
3
- Given a DNA string, compute how many times each nucleotide occurs in the string.
3
+ Given a single stranded DNA string, compute how many times each nucleotide occurs in the string.
4
4
 
5
- DNA is represented by an alphabet of the following symbols: 'A', 'C',
6
- 'G', and 'T'.
7
-
8
- Each symbol represents a nucleotide, which is a fancy name for the
9
- particular molecules that happen to make up a large part of DNA.
10
-
11
- Shortest intro to biochemistry EVAR:
5
+ The genetic language of every living thing on the planet is DNA.
6
+ DNA is a large molecule that is built from an extremely long sequence of individual elements called nucleotides.
7
+ 4 types exist in DNA and these differ only slightly and can be represented as the following symbols: 'A' for adenine, 'C' for cytosine, 'G' for guanine, and 'T' thymine.
12
8
 
9
+ Here is an analogy:
13
10
  - twigs are to birds nests as
14
- - nucleotides are to DNA and RNA as
15
- - amino acids are to proteins as
16
- - sugar is to starch as
17
- - oh crap lipids
18
-
19
- I'm not going to talk about lipids because they're crazy complex.
20
-
21
- So back to nucleotides.
22
-
23
- DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
24
- (`G`), and thymine (`T`).
25
-
26
- RNA contains a slightly different set of nucleotides, but we don't care
27
- about that for now.
11
+ - nucleotides are to DNA as
12
+ - legos are to lego houses as
13
+ - words are to sentences as...
28
14
 
29
15
  ## Setup
30
16
 
@@ -1,4 +1,4 @@
1
- # Ocr Numbers
1
+ # OCR Numbers
2
2
 
3
3
  Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is
4
4
  represented, or whether it is garbled.
@@ -9,7 +9,7 @@ To begin with, convert a simple binary font to a string containing 0 or 1.
9
9
 
10
10
  The binary font uses pipes and underscores, four rows high and three columns wide.
11
11
 
12
- ```
12
+ ```text
13
13
  _ #
14
14
  | | # zero.
15
15
  |_| #
@@ -18,7 +18,7 @@ The binary font uses pipes and underscores, four rows high and three columns wid
18
18
 
19
19
  Is converted to "0"
20
20
 
21
- ```
21
+ ```text
22
22
  #
23
23
  | # one.
24
24
  | #
@@ -39,7 +39,7 @@ Update your program to recognize multi-character binary strings, replacing garbl
39
39
 
40
40
  Update your program to recognize all numbers 0 through 9, both individually and as part of a larger string.
41
41
 
42
- ```
42
+ ```text
43
43
  _
44
44
  _|
45
45
  |_
@@ -48,7 +48,7 @@ Update your program to recognize all numbers 0 through 9, both individually and
48
48
 
49
49
  Is converted to "2"
50
50
 
51
- ```
51
+ ```text
52
52
  _ _ _ _ _ _ _ _ #
53
53
  | _| _||_||_ |_ ||_||_|| | # decimal numbers.
54
54
  ||_ _| | _||_| ||_| _||_| #
@@ -61,7 +61,7 @@ Is converted to "1234567890"
61
61
 
62
62
  Update your program to handle multiple numbers, one per line. When converting several lines, join the lines with commas.
63
63
 
64
- ```
64
+ ```text
65
65
  _ _
66
66
  | _| _|
67
67
  ||_ _|
@@ -8,11 +8,13 @@ Implement octal to decimal conversion. Given an octal input
8
8
  string, your program should produce a decimal output.
9
9
 
10
10
  ## Note
11
+
11
12
  - Implement the conversion yourself.
12
13
  Do not use something else to perform the conversion for you.
13
14
  - Treat invalid input as octal 0.
14
15
 
15
16
  ## About Octal (Base-8)
17
+
16
18
  Decimal is a base-10 system.
17
19
 
18
20
  A number 233 in base 10 notation can be understood
@@ -25,7 +27,8 @@ as a linear combination of powers of 10:
25
27
  - All these values are summed.
26
28
 
27
29
  So:
28
- ```
30
+
31
+ ```text
29
32
  233 # decimal
30
33
  = 2*10^2 + 3*10^1 + 3*10^0
31
34
  = 2*100 + 3*10 + 3*1
@@ -34,7 +37,8 @@ So:
34
37
  Octal is similar, but uses powers of 8 rather than powers of 10.
35
38
 
36
39
  So:
37
- ```
40
+
41
+ ```text
38
42
  233 # octal
39
43
  = 2*8^2 + 3*8^1 + 3*8^0
40
44
  = 2*64 + 3*8 + 3*1
@@ -5,33 +5,32 @@ Detect palindrome products in a given range.
5
5
  A palindromic number is a number that remains the same when its digits are
6
6
  reversed. For example, `121` is a palindromic number but `112` is not.
7
7
 
8
- Given the definition of a palindromic number, we define a palindrome _product_
9
- to be the product `c`, such that `a * b = c`, where `c` is a palindromic number and
10
- `a` and `b` are integers (possibly, but _not_ necessarily palindromic numbers).
8
+ Given a range of numbers, find the largest and smallest palindromes which
9
+ are products of numbers within that range.
11
10
 
12
- For example, the palindromic number 9009 can be written as the palindrome
13
- product: `91 * 99 = 9009`.
14
-
15
- It's possible (and indeed common) for a palindrome product to be the product
16
- of multiple combinations of numbers. For example, the palindrome product `9` has
17
- the factors `(1, 9)`, `(3, 3)`, and `(9, 1)`.
18
-
19
- Write a program that given a range of integers, returns the smallest and largest
20
- palindromic product within that range, along with all of it's factors.
11
+ Your solution should return the largest and smallest palindromes, along with the
12
+ factors of each within the range. If the largest or smallest palindrome has more
13
+ than one pair of factors within the range, then return all the pairs.
21
14
 
22
15
  ## Example 1
23
16
 
24
17
  Given the range `[1, 9]` (both inclusive)...
25
18
 
26
- The smallest product is `1`. It's factors are `(1, 1)`.
27
- The largest product is `9`. It's factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`.
19
+ And given the list of all possible products within this range:
20
+ `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]`
21
+
22
+ The palindrome products are all single digit numbers (in this case):
23
+ `[1, 2, 3, 4, 5, 6, 7, 8, 9]`
24
+
25
+ The smallest palindrome product is `1`. Its factors are `(1, 1)`.
26
+ The largest palindrome product is `9`. Its factors are `(1, 9)` and `(3, 3)`.
28
27
 
29
28
  ## Example 2
30
29
 
31
30
  Given the range `[10, 99]` (both inclusive)...
32
31
 
33
- The smallest palindrome product is `121`. It's factors are `(11, 11)`.
34
- The largest palindrome product is `9009`. It's factors are `(91, 99)` and `(99, 91)`.
32
+ The smallest palindrome product is `121`. Its factors are `(11, 11)`.
33
+ The largest palindrome product is `9009`. Its factors are `(91, 99)`.
35
34
 
36
35
  ## Setup
37
36
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma,
4
4
  "every letter") is a sentence using every letter of the alphabet at least once.
5
- The best known English pangram is:
5
+ The best known English pangram is:
6
6
  > The quick brown fox jumps over the lazy dog.
7
7
 
8
8
  The alphabet used consists of ASCII letters `a` to `z`, inclusive, and is case
@@ -1,11 +1,11 @@
1
- # Pascals Triangle
1
+ # Pascal's Triangle
2
2
 
3
3
  Compute Pascal's triangle up to a given number of rows.
4
4
 
5
5
  In Pascal's Triangle each number is computed by adding the numbers to
6
6
  the right and left of the current position in the previous row.
7
7
 
8
- ```plain
8
+ ```text
9
9
  1
10
10
  1 1
11
11
  1 2 1