introduzione
In questa sfida il tuo compito è generare il codice ISBN-10 per i libri dato il suo codice ISBN-13, supponendo che esista un codice del genere. Tale codice ISBN-13 è composto da più parti separate da -:
978-GG-PPPP-TTT-C
Le lettere G(gruppo), P(editore), T(titolo) e C(checksum) rappresentano tutte una cifra. Ai fini di questa sfida, il raggruppamento e il calcolo di C(vedi questa sfida ) non sono interessanti e abbandoneremo tutti i trattini per semplificare questo compito.
Un numero ISBN-10 ha un layout molto simile:
GG-PPPP-TTT-c
Le lettere G, Pe Tsono le stesse del codice ISBN a 13 cifre, tuttavia csono diverse (e vengono calcolate utilizzando un algoritmo diverso). La cifra cviene scelta in modo tale che valga la seguente equivalenza (cifre in ordine):
10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11)
Esempio
Consideriamo il numero ISBN 9780345391803: per ottenere il suo codice ISBN-10 corrispondente abbiamo semplicemente cadere il leader 978e il checksum 3cedimento 034539180.
Successivamente è necessario calcolare il nuovo checksum:
10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185
Il prossimo numero divisibile per 11è 187, quindi il nuovo checksum è 2e quindi il codice ISBN-10 risultante 0345391802.
Regole
- Il tuo input avrà sempre un corrispondente codice ISBN-10 (cioè è lungo esattamente 13 cifre e inizia con
978) - L'input non deve necessariamente essere un codice ISBN-13 valido (ad es.
9780000000002) - Hai la garanzia che il codice ISBN risultante non finirà con
X - È possibile accettare input come numero intero o stringa (con o senza trattini), tuttavia non è consentito un elenco precompilato di cifre
- L'output deve essere un numero ISBN-10 valido (con o senza trattini)
- L'output può essere un numero intero o una stringa (di nuovo nessun elenco di cifre)
Casi test
9780000000002 -> 0000000000
9780201882957 -> 0201882957
9781420951301 -> 1420951300
9780452284234 -> 0452284236
9781292101767 -> 1292101768
9780345391803 -> 0345391802
Nota gli zeri iniziali!


0-684-84328-5e99921-58-10-7, la prima parte (0e99921rispettivamente) è il gruppo di registrazione, la seconda parte è l'editore e così via.