ISBN13 check digit: Difference between revisions

Content added Content deleted
m (changed wording.)
Line 1,415: Line 1,415:
ISBN-13 code 9781788399081 is valid.
ISBN-13 code 9781788399081 is valid.
ISBN-13 code 9781788399083 isn't valid.
ISBN-13 code 9781788399083 isn't valid.
</pre>

=={{header|Ring}}==
<lang ring>
load "stdlib.ring"

isbn = ["978-1734314502","978-1734314509", "978-1788399081", "978-1788399083","978-2-74839-908-0","978-2-74839-908-5","978 1 86197 876 9"]

for n = 1 to len(isbn)
sum = 0
isbnStr = isbn[n]
isbnStr = substr(isbnStr,"-","")
isbnStr = substr(isbnStr," ","")
for m = 1 to len(isbnStr)
if m%2 = 0
num = 3*number(substr(isbnStr,m,1))
sum = sum + num
else
num = number(substr(isbnStr,m,1))
sum = sum + num
ok
next
if sum%10 = 0
see "" + isbn[n] + ": true" + nl
else
see "" + isbn[n] + ": bad" + nl
ok
next
</lang>
Output:
<pre>
978-1734314502: true
978-1734314509: bad
978-1788399081: true
978-1788399083: bad
978-2-74839-908-0: true
978-2-74839-908-5: bad
978 1 86197 876 9: true
</pre>
</pre>