- Lisp Scheme Part38
873 :デフォルトの名無しさん[sage]:2014/07/08(火) 18:54:16.36 ID:cYjPRTX9 - ;;文字列をシンボルのリストに
;;;while版 (define (string->charlist str) (let ((tmp (string->list str)) (res '())) (while (not (null? tmp)) (set! res (cons (string->symbol (make-string 1 (car tmp))) res)) (set! tmp (cdr tmp))) (reverse! res))) ;;;再帰版 (define (string->charlist* str) (letrec ((aux (lambda (ls) (cond ((null? ls) '()) (else (cons (string->symbol (make-string 1 (car ls))) (aux (cdr ls)))))))) (aux (string->list str)))) (string->charlist "hello") (h e l l o) (string->charlist* "hello") (h e l l o)
| - プログラミングのお題スレ Part4
439 :デフォルトの名無しさん[sage]:2014/07/08(火) 19:12:28.93 ID:cYjPRTX9 - お題:2進数リストが与えられたら10進数に変換し, 10進数が与えられたら2進数リストに変換する.
なお,最上位ビットは符号ビットとする.また、2進数は最小ビット数で表現.ただし,ビット数指定がある場合はそれに従う. 例 f(10) -> [0 1 0 1 0] f(10,8) -> [0 0 0 0 1 0 1 0] f(-8) -> [1 0 0 0] f(-8 8) -> [1 1 1 1 1 0 0 0] f(-1) -> [1 1] f([0 1 1 1]) ->7 f([1 1 1 1]) ->-1 f([1 0 0 0]) ->-8
|
|