Task

Validate the check digit of an ISBN-13 code:

   Multiply every other digit by  3.
   Add these numbers and the other digits.
   Take the remainder of this number after division by  10.
   If it is  0,   the ISBN-13 check digit is correct.


Use the following codes for testing:

   978-1734314502       (good)
   978-1734314509         (bad)
   978-1788399081       (good)
   978-1788399083         (bad)


Show output here, on this page



See also

   for details:   13-digit ISBN method of validation.       (installs cookies.)


(de isbn13? (S)
   (let L
      (make
         (for N (chop S)
            (and (format N) (link @)) ) )
      (and
         (= 13 (length L))
         (=0 (% (sum * L (circ 1 3)) 10)) ) ) )
(mapc
   '((A)
      (tab
         (-19 1)
         A
         (if (isbn13? A) 'ok 'fail) ) )
   (quote
      "978-1734314502"
      "978-1734314509"
      "978-1-86197-876-9"
      "978-2-74839-908-5"
      "978 1 86197 876 9" ) )