update sicp: answers(2.40~2.41)