Weryfikacja numeru ISBN
Format numerów ISBN
Proces weryfikacji numerów ISBN-10 służy do sprawdzania numerów identyfikacyjnych książek. Zazwyczaj zawierają one myślniki i wyglądają następująco 3-598-21508-8.
Format ISBN-10 to 9 cyfr (od 0 do 9) plus jeden znak kontrolny (cyfra lub znak X). W przypadku, gdy znakiem kontrolnym jest X, reprezentuje on wartość „10”. Numery ISBN-10 mogą być przekazywane z myślnikami lub bez nich, a ich poprawność można sprawdzić za pomocą następującego wzoru:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0.
Jeśli wynikiem jest 0, to jest to prawidłowy ISBN-10, w przeciwnym razie jest on nieprawidłowy.
Przykład
Weźmy numer ISBN-10 3-598-21508-8
. Wstawiamy go do wzoru i otrzymujemy:
(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0
Ponieważ wynikiem jest 0, dowodzi to, że nasz ISBN jest poprawny.
Zadanie
Napisz program, który wczyta od użytkownika ciąg znaków, następnie sprawdzi, czy podany ciąg znaków jest prawidłowym numerem ISBN-10.
Program powinien być w stanie zweryfikować ISBN-10 zarówno z myślnikami, jak i bez nich.
Źródło: zadanie zainspirowane przykładem z newslettera Rust Bytes https://weeklyrust.substack.com