trackler 2.0.8.44 → 2.0.8.45

Sign up to get free protection for your applications and to get access to all the features.
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