Created
April 26, 2020 07:23
-
-
Save cindywu/dccbf01e425b949180ae86d07d538033 to your computer and use it in GitHub Desktop.
crackle-pop process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; this works! | |
; (crackle-pop 15) returns 1514131211109876543210 | |
(define (crackle-pop n) | |
(display n) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; show crackle if divisible by 3 | |
; (crackle-pop 15) returns Crackle1413Crackle1110Crackle87Crackle54Crackle21Crackle | |
(define (crackle-pop n) | |
(if (= 0 (remainder n 3)) | |
(display "Crackle") | |
(display n)) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; replace if with cond | |
(define (crackle-pop n) | |
(cond ((= 0 (remainder n 3))(display "Crackle")) | |
(else (display n))) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; show crackle if divisible by 3 show pop if divisible by 5 | |
(define (crackle-pop n) | |
(cond ((= 0 (remainder n 3))(display "Crackle")) | |
((= 0 (remainder n 5))(display "Pop")) | |
(else (display n))) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; show cracklepop if divisible by 3 and 5 | |
(define (crackle-pop n) | |
(cond ((and (= 0 (remainder n 3))(= 0 (remainder n 5))) (display "CracklePop")) | |
((= 0 (remainder n 3))(display "Crackle")) | |
((= 0 (remainder n 5))(display "Pop")) | |
(else (display n))) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; show numbers on new line | |
(define (crackle-pop n) | |
(cond ((and (= 0 (remainder n 3))(= 0 (remainder n 5))) (display "CracklePop\n")) | |
((= 0 (remainder n 3))(display "Crackle\n")) | |
((= 0 (remainder n 5))(display "Pop\n")) | |
(else (display n))) | |
(if (> n 0) (crackle-pop (- n 1)))) | |
; don't print 0 | |
(define (crackle-pop n) | |
(cond ((and (= 0 (remainder n 3))(= 0 (remainder n 5))) (display "CracklePop\n")) | |
((= 0 (remainder n 3))(display "Crackle\n")) | |
((= 0 (remainder n 5))(display "Pop\n")) | |
(else (display n)(display "\n"))) | |
(if (> n 1) (crackle-pop (- n 1)))) | |
; given 100, print 1 to 100 | |
(define count 1) | |
(define (crackle-pop count n) | |
(cond ((and (= 0 (remainder count 3))(= 0 (remainder count 5))) (display "CracklePop\n")) | |
((= 0 (remainder count 3))(display "Crackle\n")) | |
((= 0 (remainder count 5))(display "Pop\n")) | |
(else (display count)(display "\n"))) | |
(if (> n count) (crackle-pop (+ count 1) n))) | |
(crackle-pop count 100) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment