プロジェクト

全般

プロフィール

操作

Problem 7 » 履歴 » リビジョン 2

« 前 | リビジョン 2/5 (差分) | 次 »
Noppi, 2023/12/27 04:49


ホーム - Project Euler

Problem 7

#!r6rs
#!chezscheme

(import (chezscheme))

(define (prime? num)
  (if (even? num)
    #f
    (let ([count (isqrt num)])
      (let loop ([check-num 3])
        (cond
          [(< count check-num) #t]
          [(zero? (mod num check-num)) #f]
          [else (loop (+ check-num 2))])))))

(define answer-7
  (let loop ([current 3] [count 1] [prime 2])
    (if
      (= 10001 count)
      prime
      (let ([next (+ current 2)])
        (if (prime? current)
          (loop next (add1 count) current)
          (loop next count prime))))))

(printf "7: ~D~%" answer-7)

Noppi2023/12/27に更新 · 2件の履歴