Sha256: 486753152c101ece0de09152d8ee1d20c281f8cb7dceac9d766c49f745cd80f5

Contents?: true

Size: 448 Bytes

Versions: 158

Compression:

Stored size: 448 Bytes

Contents

use "collections"
use "itertools"

primitive Squares
  fun square_of_sums(n: USize): USize =>
    let sum = (n * (n + 1)) / 2
    sum * sum

  fun sum_of_squares(n: USize): USize =>
    try
      Iter[USize](Range(0, n + 1))
        .map[USize]({(x: USize): USize => x * x})
        .fold[USize]({(acc: USize, x: USize): USize => acc + x}, 0)
    else
      0
    end

  fun difference(n: USize): USize =>
    square_of_sums(n) - sum_of_squares(n)

Version data entries

158 entries across 158 versions & 1 rubygems

Version Path
trackler-2.0.6.28 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.27 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.26 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.25 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.24 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.23 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.22 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.21 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.20 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.19 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.18 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.17 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.16 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.15 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.14 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.13 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.12 tracks/pony/exercises/difference-of-squares/example.pony
trackler-2.0.6.11 tracks/pony/exercises/difference-of-squares/example.pony