Gsong's Blog
Developer + Entrepreneur = Entreveloper
SICP 연습문제 풀이 1.25
1.24 와 같은 문제로 직접 실험한 수치는 제공하지 못했습니다. fast-expt 도 사용해도 결과는 나올 수 있습니다. 다만 기존의 expmod 프로시져와의 차이점을 살펴봐야 하는데. fast-expt 를 사용했을 경우 지수 승을 한 큰 값을 미리 다 계산한다는 점이 좋지 않습니다. 원래 expmod 에서는 remainder 와 square 그리고 * 가 섞여서 계산되기 때문에...
SICP 연습문제 풀이 1.24
[CODE](define (fast-prime? n times) (cond ((= times 0) #t) ((fermat-test n) (fast-prime? n (- times 1))) (else #f)))(define (fermat-test n) (define (try-it a) (= (expmod a n n) a)) (try-it (+ 1 (random (- n 1)))))(define (expmod base exp m) (cond ((= exp...
How to be happy, 행복도 연습이 필요하다.
How to be happy - 행복도 연습이 필요하다 소냐 류보머스키 지음, 오혜경 옮김 사회심리학자로서 인간의 행복을 증진시키는 데 관심을 가져 온 소냐 류보머스키 교수가 '사이콜리지컬 불리틴'에 발표한 내용을 근간으로 그 동안의 연구 내용을 알기 쉽게 풀어서 정리한 것이다. 행복의 수준을 높이는 데 효과가 있는 것으로 검증된 12가지 행복 연습...
SICP 연습문제 풀이 1.23
1.22 의 풀이에 다음의 코드만 수정, 추가 한다. [CODE] (define (find-divisor n test-divisor) (cond ((> (square test-divisor) n) n) ((divides? test-divisor n) test-divisor) (else (find-divisor n (next test-divisor))))) (define (next n) (cond ((= n 2) 3) ...
SICP 연습문제 풀이 1.22
[CODE](define (smallest-divisor n) (find-divisor n 2)) (define (find-divisor n test-divisor) (cond ((> (square test-divisor) n) n) ((divides? test-divisor n) test-divisor) (else (find-divisor n (+ test-divisor 1))))) ...
SICP 연습문제 풀이 1.21
[CODE](define (smallest-divisor n) (find-divisor n 2)) (define (find-divisor n test-divisor) (cond ((> (square test-divisor) n) n) ((divides? test-divisor n) test-divisor) (else (find-divisor n (+ test-divisor 1))))) (define (divides? a b) (= (remainder b a) 0)) (define (prime? n) (= n (smallest-divisor n))) (define (square x) (* x x)) [/CODE] 실행...
SICP 연습문제 풀이 1.20
SICP 연습문제 풀이 1.20 (gcd 206 40) In normal order evaluation =>(if (= 40 0) 206 (gcd 40 (remainder 206 40))) =>(gcd 40 (remainder 206 40)) =>(if (= (remainder 206 40) 0) 40 (gcd (remainder 206 40) (remainder...
프로그래머와 야근, 뗄 래야 뗄 수 없는
프로그래머들이 야근을 자주 한다는 이야기는 이미 숱하게 들어서 아실 겁니다. 오늘은 하고 싶지 않은 데 반 강제로 하게 되는 야근말고 자기가 좋아서 하게 되는 야근 이야기를 좀 해볼까 합니다. 유독 프로그래머 중에는 일 중독, 야근 중독이 사람들이 많습니다. 저녁 먹고 나면 그 때부터 제대로 시작하는 거지요. 적당히 늘어진 자세로 아무도...
SICP 연습문제 풀이 1.19
SICP 연습문제 풀이 1.19 이것을 행렬로 표현하면 그러므로 답은 (define (fib n) (fib-iter 1 0 0 1 n)) (define (fib-iter a b p q count) (cond ((= count 0) b) ((even? count) (fib-iter a ...
SICP 연습문제 풀이 1.18
SICP 연습문제 풀이 1.18 (define (double a) (* a 2)) (define (halve a) (/ a 2)) (define (mult a b) (define (mult-iter a b c) (cond ((= b 0) c) ((even? b) (mult-iter (double a) (halve b) c)) ...