2008. 3. 6.

연습문제 1.22

PLT scheme에는 runtime이 없으므로 runtime을 급조

(define (runtime) (current-milliseconds))


(define (search-for-primes start span)
  (cond ((= span 0) (newline))
        ((odd? start)
         (begin
           (timed-prime-test start)
           (search-for-primes (+ start 1) (- span 1))))
        (else
         (search-for-primes (+ start 1) (- span 1)))))

1000에 대해서 3개의 소수 찾기
> (search-for-primes 1000 20)

1001
1003
1005
1007
1009 *** 0
1011
1013 *** 0
1015
1017
1019 *** 0

10000보다 큰 소수 찾기
> (search-for-primes 10000 40)

10001
10003
10005
10007 *** 0
10009 *** 0
10011
10013
10015
10017
10019
10021
10023
10025
10027
10029
10031
10033
10035
10037 *** 0
10039 *** 0


100000 보다 큰 소수 3개 찾기
> (search-for-primes 100000 100)

100003 *** 0
100019 *** 0
100043 *** 0
100049 *** 0
100057 *** 0
100069 *** 0



1000000 보다 큰 소수 3개 찾기
> (search-for-primes 1000000 100)

1000003 *** 0
1000033 *** 0
1000037 *** 0
1000039 *** 0
1000081 *** 0
1000099 *** 0

요즘 컴이 빠른건지 전부 0가 되고 있음.. 단위 키우기로 함.. -ㅇ-

/> (search-for-primes 10000000000 100)

10000000019***125
10000000033***125
10000000061***156
10000000069***125
10000000097***141
/> (search-for-primes 10000000000 100)

10000000019***125
10000000033***141
10000000061***125PLT scheme에는 runtime이 없으므로 runtime을 급조

(define (runtime) (current-milliseconds))


(define (search-for-primes start span)
  (cond ((= span 0) (newline))
        ((odd? start)
         (begin
           (timed-prime-test start)
           (search-for-primes (+ start 1) (- span 1))))
        (else
         (search-for-primes (+ start 1) (- span 1)))))

1000에 대해서 3개의 소수 찾기
> (search-for-primes 1000 20)

1001
1003
1005
1007
1009 *** 0
1011
1013 *** 0
1015
1017
1019 *** 0

10000보다 큰 소수 찾기
> (search-for-primes 10000 40)

10001
10003
10005
10007 *** 0
10009 *** 0
10011
10013
10015
10017
10019
10021
10023
10025
10027
10029
10031
10033
10035
10037 *** 0
10039 *** 0


100000 보다 큰 소수 3개 찾기
> (search-for-primes 100000 100)

100003 *** 0
100019 *** 0
100043 *** 0
100049 *** 0
100057 *** 0
100069 *** 0



1000000 보다 큰 소수 3개 찾기
> (search-for-primes 1000000 100)

1000003 *** 0
1000033 *** 0
1000037 *** 0
1000039 *** 0
1000081 *** 0
1000099 *** 0

요즘 컴이 빠른건지 전부 0가 되고 있음.. 단위 키우기로 함.. -ㅇ-

/> (search-for-primes 10000000000 100)

10000000019***125
10000000033***125
10000000061***156
10000000069***125
10000000097***141
/> (search-for-primes 10000000000 100)

10000000019***125
10000000033***141
10000000061***125
10000000069***156
10000000097***125

/> (search-for-primes 100000000000 100)

100000000003***453
100000000019***453
100000000057***453
100000000063***468
100000000069***422
100000000073***469
100000000091***453
/> (search-for-primes 1000000000000 100)

1000000000039***1469
1000000000061***1422
1000000000063***1438
1000000000091***1438
/>

이 나옴..

자리수가 한자리 증가할때마다 대략 3~3.5배 사이로 증가함을 알 수 있다.
10000000069***156
10000000097***125

/> (search-for-primes 100000000000 100)

100000000003***453
100000000019***453
100000000057***453
100000000063***468
100000000069***422
100000000073***469
100000000091***453
/> (search-for-primes 1000000000000 100)

1000000000039***1469
1000000000061***1422
1000000000063***1438
1000000000091***1438
/>

이 나옴..

자리수가 한자리 증가할때마다 대략 3~3.5배 사이로 증가함을 알 수 있다.

댓글 없음:

댓글 쓰기