diff options
author | bd <bdunahu@operationnull.com> | 2024-08-04 21:01:32 -0600 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2024-08-04 21:01:32 -0600 |
commit | 3324327b80a50e94843dedbb704683ee9b3a9955 (patch) | |
tree | 333f24d8de37c480a101f100a5ca539cc34552fe /prime?/prime.scm | |
parent | c04ceb5f29e965bb2d9b37bf38f10f7a12a0cab0 (diff) |
Cleanup prime?
Diffstat (limited to 'prime?/prime.scm')
-rwxr-xr-x | prime?/prime.scm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/prime?/prime.scm b/prime?/prime.scm new file mode 100755 index 0000000..3d08a35 --- /dev/null +++ b/prime?/prime.scm @@ -0,0 +1,17 @@ +(define-module (prime)) + + +(define-public (prime? n) + "Returns #t if N is prime, else #f." + + (define (prime-helper n d) + "Recursively checks if N is a prime number +by attempting division by number D,D-1,D-2..." + (cond + ((< d 2) #t) + ((zero? (remainder n d)) #f) + (#t (prime-helper n (1- d))))) + + (if (< n 2) + #f + (prime-helper n (quotient n 2)))) |