Filter a list of integers by parity
If one were to abstract out the filter function (named filt here), it would greatly simplify writing same-parity:

(define (filt test? lis)
  (cond
    ((null? lis) lis)
    ((test? (car lis)) (cons (car lis) (filt test? (cdr lis))))
    (else (filt test? (cdr lis)))))

(define (same-parity n . lis)
  (filt (if (odd? n) odd? even?) lis))


The filter function is common enough that it is part of the Scheme standard and is appropriately named filter.