Sha256: 540b837fee8fc50f6ad66db8f0ddf39c44646b966bb86144fc09188344c7046f

Contents?: true

Size: 831 Bytes

Versions: 133

Compression:

Stored size: 831 Bytes

Contents

class Triangle {

    // To be valid, the triangle must have positive sides and satisfy the triangle inequality.
    static boolean isLegal(Number a, Number b, Number c) {
        (a > 0) && (b > 0) && (c > 0) && (a <= b + c) && (b <= c + a) && (c <= a + b)
    }

    // Equilateral triangles have all sides equal.
    static boolean isEquilateral(Number a, Number b, Number c) {
        isLegal(a, b, c) && (a == b) && (b == c)
    }

    // To be isosceles, at least two of the three sides must be equal.
    static boolean isIsosceles(Number a, Number b, Number c) {
        isLegal(a, b, c) && ( (a == b) || (b == c) || (c == a) )
    }

    // Scalene triangles have all three sides different.
    static boolean isScalene(Number a, Number b, Number c) {
        isLegal(a, b, c) && (a != b) && (b != c) && (c != a)
    }

}

Version data entries

133 entries across 133 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.179 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.178 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.177 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.176 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.175 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.174 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.173 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.172 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.171 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.170 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.169 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.167 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.166 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.165 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.164 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.163 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.162 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.161 tracks/groovy/exercises/triangle/Example.groovy
trackler-2.2.1.160 tracks/groovy/exercises/triangle/Example.groovy