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.

ISBN
ISBN in tekst en streepjescode.

Als $$x_1, \ldots, x_9$$ de eerste 9 cijfers van een ISBN-10 code voorstellen, dan wordt het controlecijfer $$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.

Opgave

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 duplication1, DRY2).

Invoer

Een reeks ISBN-10 codes die wordt afgesloten door een regel die enkel het woord stop bevat. De tien cijfers van elke ISBN-10 code wordt uitgeschreven als een opeenvolging van tien natuurlijke getallen $$x_1, \ldots, x_{10}$$ ($$0 \leq x_1, \ldots, x_{9} \leq 9; 0 \leq x_{10} \leq 10$$), elk op een afzonderlijke regel.

Uitvoer

Schrijf voor elke ISBN-10 code één regel uit die het woord OK bevat als de cijfers corresponderen met een geldige ISBN-10 code of die het woord FOUT bevat als de cijfers corresponderen met een foutieve ISBN-10 code.

Voorbeeld

Invoer:

9
9
7
1
5
0
2
1
0
0
9
9
7
1
5
0
2
1
0
8
stop

Uitvoer:

OK
FOUT

Pythia spreekt …

In onderstaande video legt Pythia uit hoe je deze opgave kunt aanpakken. Bekijk deze video als opstapje naar het oplossen van de oefeningen over controlelussen3.