Recursive Case 2

Write one procedure to do the work of both:
     (define num-digits-in-satisfying
       (lambda (n test?)
         (cond ((< n 0) (num-digits-in-satisfying (- n) test?))
               ((< n 10) (if (test? n) 1 0))
               ((test? (remainder n 10)) (+ (num-digits-in-satisfying 
                                              (quotient n 10) test?)
                                            1))
               (else (num-digits-in-satisfying (quotient n 10) test?)))))