Dit is een vervolg op ISBN - while-lus1
Binnen het ISBN-10 (International Standard Book Numbering) systeem dat tot eind 2006 gebruikt werd, kreeg elk boek een unieke code toegewezen die bestaat uit 10 cijfers. De eerste 9 daarvan geven informatie over het boek zelf, terwijl het laatste louter een controlecijfer is dat dient om foutieve ISBN-10 codes te detecteren.
Indien $$x_1, \ldots, x_9$$ de eerste 9 cijfers van een ISBN-10 code
voorstellen, dan wordt het controlegetal $$x_{10}$$ als volgt
berekend: \[x_{10} = (x_1+ 2x_2+ 3x_3+ 4x_4+ 5x_5+ 6x_6+ 7x_7+ 8x_8+
9x_9)\!\!\!\!\mod{11}\] Het controlecijfer $$x_{10}$$ kan m.a.w. de
waarden 0 tot en met 10 aannemen.
Indien het controlegetal $$x_{10}$$ gelijk is aan het getal 10, wordt dit voorgesteld met de letter "X". De code "976360026X" is dus een geldige ISBN-10 code.
Lees een reeks ISBN-10 codes in en bepaal of ze corresponderen met geldige ISBN-10 codes. Zorg ervoor dat er geen overbodige herhaling van broncodefragmenten voorkomt in je oplossing (code duplication2, DRY3).
string
. Het laatste teken kan een "X" zijn, dit betekent dat het controlegetal gelijk is aan 10.
Voor elke ISBN-10 code één regel die het woord OK bevat als de ISBN-10 code geldig is of die het woord FOUT bevat als de ISBN-10 code ongeldig is.
Invoer:
9971502100 9971502108 stop
Uitvoer:
OK FOUT