solved problem 1
generalization using higher-order function which uses set inclusion-exclusion principles to return a function that computes the sum of all multiples of a list of numbers in uber fast constant O(1) time (yay!) - becoz there is no kill like overkill. Oh but it is O(2**n) (exponential) to generate the function which sounds bad but is not only the best possible but comparable to the specific case