diff --git a/solutions/8th/triangle/2/triangle.8th b/solutions/8th/triangle/2/triangle.8th new file mode 100644 index 0000000..16832d5 --- /dev/null +++ b/solutions/8th/triangle/2/triangle.8th @@ -0,0 +1,36 @@ +: istriangle? \ n n n -- T +3dup +3dup n:- n:abs swap n:< -3 roll +rot 3dup n:- n:abs swap n:< -3 roll +rot n:- n:abs swap n:< +and and +; + +: equilateral? \ n n n -- T +istriangle? not if 3drop false +else + 2dup n:= -3 roll + rot n:= + drop and +then +; + +: scalene? \ n n n -- T +istriangle? not if 3drop false +else + 2dup n:= not -3 roll + rot 2dup n:= not -3 roll + rot 2dup n:= not -3 roll + 3drop and and +then +; + +: isosceles? \ n n n -- T +istriangle? not if 3drop false +else + 2dup n:= -3 roll + rot 2dup n:= -3 roll + rot 2dup n:= -3 roll + 3drop xor xor +then +;