Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; 2進数、8進数、10進数のいずれで表現しても回文数となる数のうち、10進数の10以上で最小の値を求めてください。
- (defun palindromep (s)
- (string= s (reverse s)))
- (defun integer-palindrome (n base)
- (palindromep (format nil "~VR" base n)))
- (loop :for i :from 10
- :when (and (integer-palindrome i 2)
- (integer-palindrome i 8)
- (integer-palindrome i 10))
- :return i)
- ;=> 585
- (format nil "~B / ~:*~O / ~:*~D" 585)
- ;=> "1001001001 / 1111 / 585"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement