(define (log2 number) (/ (log number) (log 2))) > (log2 1024) 10.0 > (log2 8) 3.0 > (log2 16) 4.0 > (map log2 '(2 3 4 5 6 7 8 16 32 64 128)) (1.0 1.5849625007211563 2.0 2.321928094887362 2.584962500721156 2.807354922057604 3.0 4.0 5.0 6.0 7.0) (map log2 '(2 4 8 16 32 64 128 256 1024 2048 4096)) (1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 10.0 11.0 12.0) (define (log16 number) Base 16 = hexadecimal (/ (log number) (log 16))) > (map log16 '(2 4 8 16 32 64 128 256 1024 2048 4096)) (0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 2.5 2.75 3.0) > (log16 (expt 16 10)) 10.0 > (expt 16 10) 1099511627776 > (sumOfFunction log2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)) 61.07738392090622 > (map log2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)) (0 1.0 1.5849625007211563 2.0 2.321928094887362 2.584962500721156 2.807354922057604 3.0 3.1699250014423126 3.3219280948873626 3.4594316186372978 3.5849625007211565 3.700439718141092 3.8073549220576037 3.9068905956085187 4.0 4.08746284125034 4.169925001442312 4.247927513443585 4.321928094887363) (define (sumOfFunction function myList) (apply + (map function myList))) (define (log2 number) (/ (log number) (log 2))) > (define log2sOneToTwenty (map log2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20))) > (sumOfFunction floor log2sOneToTwenty) 54.0 > (sumOfFunction ceiling log2sOneToTwenty) 69.0 > (sumOfFunction + log2sOneToTwenty) 61.07738392090622 > (expt 2 61.07738392090622) 2432902008176640500 <------------ 2 raised to 61.07738th power > (factorial 20) 2432902008176640000 <----------- 20 factorial 2432902008176640500 <------------ 2 raised to 61.07738th power 2432902008176640000 <----------- 20 factorial