August 10, 2018
4clojure 131 - Sum Some Set Subsets
Given a variable number of sets of integers, create a function which returns true iff all of the sets have a non-empty subset with an equivalent summation.
(ns live.test
(:require [cljs.test :refer-macros [deftest is run-tests]]))
(defn sum-set? [& sets]
; complete this function to make tests pass
)
(deftest sum-set?-test
(is (= true (sum-set? #{-1 1 99}
#{-2 2 888}
#{-3 3 7777}))) ; ex. all sets have a subset which sums to zero
(is (= false (sum-set? #{1}
#{2}
#{3}
#{4})))
(is (= true (sum-set? #{1})))
(is (= false (sum-set? #{1 -3 51 9}
#{0}
#{9 2 81 33})))
(is (= true (sum-set? #{1 3 5}
#{9 11 4}
#{-3 12 3}
#{-3 4 -2 10})))
(is (= false (sum-set? #{-1 -2 -3 -4 -5 -6}
#{1 2 3 4 5 6 7 8 9})))
(is (= true (sum-set? #{1 3 5 7}
#{2 4 6 8})))
(is (= true (sum-set? #{-1 3 -5 7 -9 11 -13 15}
#{1 -3 5 -7 9 -11 13 -15}
#{1 -1 2 -2 4 -4 8 -8})))
(is (= true (sum-set? #{-10 9 -8 7 -6 5 -4 3 -2 1}
#{10 -9 8 -7 6 -5 4 -3 2 -1}))))
(run-tests)