update sicp: answers(2.17~2.19)