trackler 2.0.8.44 → 2.0.8.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cad1dc38bea7e7ee4ddedd5f7215ef56be2adb9a
4
- data.tar.gz: 3891605c70d09d4a9e44db48a7e702bcee6486cc
3
+ metadata.gz: d1c04b72d954089029c43862cf7bbb1fcf13bbbf
4
+ data.tar.gz: 452d2160fb563b8b50a3018c1269ec2906dde5b7
5
5
  SHA512:
6
- metadata.gz: 454da043eddd6054d7ceacb2ca7768db876af837347ca5c4dc9864638a7f159a6297b905f129bf3adc90d2af078c04b8af228d12be8b4386ba06bf88b5038640
7
- data.tar.gz: 19be29744501524033e93ea0e793e305dade023157c35de1f5500ba0e81af04d4ebba679c7ec90b1e37dd3f3102e05086b9d53f19f428ebc6013be2d9cf51b50
6
+ metadata.gz: 8d324682cc79c3e6abed6543b160eb1c6ace6d5d1e3d51a39a49f1e807f72d45df45a6860f8809bb883e5d475929ddb6595b2e0e124b233023dc60fce82d8aa3
7
+ data.tar.gz: 88c3251393a317be5a09b90da19931c53c7e161704e165f1a22bdb257cf3f0e91cc97c0c4f6c193f988f5d5836a9d7ab68bb6a7a9f28507896ad9fdc645de9d4
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.0.8.44"
2
+ VERSION = "2.0.8.45"
3
3
  end
File without changes
File without changes
@@ -122,6 +122,13 @@
122
122
  "topics": [
123
123
  "binary search"
124
124
  ]
125
+ },
126
+ {
127
+ "slug": "difference-of-squares",
128
+ "difficulty": 1,
129
+ "topics": [
130
+ "arithmetics"
131
+ ]
125
132
  }
126
133
  ],
127
134
  "deprecated": [
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "difference-of-squares",
3
+ "ignore": [
4
+ "**/.*",
5
+ "node_modules",
6
+ "bower_components",
7
+ "output"
8
+ ],
9
+ "dependencies": {
10
+ "purescript-prelude": "^2.5.0"
11
+ },
12
+ "devDependencies": {
13
+ "purescript-psci-support": "^2.0.0",
14
+ "purescript-test-unit": "^10.1.0"
15
+ }
16
+ }
@@ -0,0 +1,19 @@
1
+ module DifferenceOfSquares
2
+ ( differenceOfSquares
3
+ , squareOfSum
4
+ , sumOfSquares
5
+ ) where
6
+
7
+ import Prelude
8
+ import Data.Array (range)
9
+ import Data.Foldable (sum)
10
+ import Data.Int (pow)
11
+
12
+ squareOfSum :: Int -> Int
13
+ squareOfSum n = sum (range 1 n) `pow` 2
14
+
15
+ sumOfSquares :: Int -> Int
16
+ sumOfSquares n = map (_ `pow` 2) (range 1 n) # sum
17
+
18
+ differenceOfSquares :: Int -> Int
19
+ differenceOfSquares n = squareOfSum n - sumOfSquares n
@@ -0,0 +1,5 @@
1
+ module DifferenceOfSquares
2
+ ( differenceOfSquares
3
+ , squareOfSum
4
+ , sumOfSquares
5
+ ) where
@@ -0,0 +1,47 @@
1
+ module Test.Main where
2
+
3
+ import Prelude
4
+ import Control.Monad.Eff (Eff)
5
+ import Data.Maybe (Maybe(..))
6
+ import Test.Unit.Assert as Assert
7
+ import Test.Unit (suite, test)
8
+ import Test.Unit.Main (runTest)
9
+ import DifferenceOfSquares (differenceOfSquares, squareOfSum, sumOfSquares)
10
+
11
+ main :: Eff _ Unit
12
+ main = runTest do
13
+ suite "Square the sum of the numbers up to the given number" do
14
+
15
+ test "square of sum 5" $
16
+ Assert.equal 225 (squareOfSum 5)
17
+
18
+ test "square of sum 10" $
19
+ Assert.equal 3025 (squareOfSum 10)
20
+
21
+ test "square of sum 100" $
22
+ Assert.equal 25502500 (squareOfSum 100)
23
+
24
+ suite "Sum the squares of the numbers up to the given number" do
25
+
26
+ test "sum of squares 5" $
27
+ Assert.equal 55 (sumOfSquares 5)
28
+
29
+ test "sum of squares 10" $
30
+ Assert.equal 385 (sumOfSquares 10)
31
+
32
+ test "sum of squares 100" $
33
+ Assert.equal 338350 (sumOfSquares 100)
34
+
35
+ suite "Subtract sum of squares from square of sums" do
36
+
37
+ test "difference of squares 0" $
38
+ Assert.equal 0 (differenceOfSquares 0)
39
+
40
+ test "difference of squares 5" $
41
+ Assert.equal 170 (differenceOfSquares 5)
42
+
43
+ test "difference of squares 10" $
44
+ Assert.equal 2640 (differenceOfSquares 10)
45
+
46
+ test "difference of squares 100" $
47
+ Assert.equal 25164150 (differenceOfSquares 100)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8.44
4
+ version: 2.0.8.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-08 00:00:00.000000000 Z
11
+ date: 2017-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -1301,6 +1301,7 @@ files:
1301
1301
  - tracks/cpp/exercises/word-count/word_count_test.cpp
1302
1302
  - tracks/cpp/img/icon.png
1303
1303
  - tracks/crystal/.git
1304
+ - tracks/crystal/.github/stale.yml
1304
1305
  - tracks/crystal/.gitignore
1305
1306
  - tracks/crystal/.travis.yml
1306
1307
  - tracks/crystal/LICENSE
@@ -6559,6 +6560,7 @@ files:
6559
6560
  - tracks/prolog/img/.keep
6560
6561
  - tracks/prolog/img/icon.png
6561
6562
  - tracks/purescript/.git
6563
+ - tracks/purescript/.github/stale.yml
6562
6564
  - tracks/purescript/.gitignore
6563
6565
  - tracks/purescript/.travis.yml
6564
6566
  - tracks/purescript/LICENSE
@@ -6605,6 +6607,10 @@ files:
6605
6607
  - tracks/purescript/exercises/bracket-push/examples/src/BracketPush.purs
6606
6608
  - tracks/purescript/exercises/bracket-push/src/BracketPush.purs
6607
6609
  - tracks/purescript/exercises/bracket-push/test/Main.purs
6610
+ - tracks/purescript/exercises/difference-of-squares/bower.json
6611
+ - tracks/purescript/exercises/difference-of-squares/examples/src/DifferenceOfSquares.purs
6612
+ - tracks/purescript/exercises/difference-of-squares/src/DifferenceOfSquares.purs
6613
+ - tracks/purescript/exercises/difference-of-squares/test/Main.purs
6608
6614
  - tracks/purescript/exercises/hello-world/bower.json
6609
6615
  - tracks/purescript/exercises/hello-world/examples/src/HelloWorld.purs
6610
6616
  - tracks/purescript/exercises/hello-world/src/HelloWorld.purs