Διαδρομές
/
Arturo
Arturo
/
Ασκήσεις
/
Επαληθευτής ISBN
Επαληθευτής ISBN

Επαληθευτής ISBN

Μέτριο

Οδηγίες

Η διαδικασία επαλήθευσης ISBN-10 χρησιμοποιείται για την επικύρωση αριθμών αναγνώρισης βιβλίων. Συνήθως περιέχουν παύλες και έχουν τη μορφή: 3-598-21508-8

ISBN

Η μορφή ISBN-10 αποτελείται από 9 ψηφία (0 έως 9) συν έναν χαρακτήρα ελέγχου (είτε ένα ψηφίο είτε μόνο ένα X). Στην περίπτωση που ο χαρακτήρας ελέγχου είναι X, αυτός αντιπροσωπεύει την τιμή '10'. Μπορούν να δοθούν με ή χωρίς παύλες, και η εγκυρότητά τους μπορεί να ελεγχθεί με τον παρακάτω τύπο:

(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0

Αν το αποτέλεσμα είναι 0, τότε το ISBN-10 είναι έγκυρο, αλλιώς δεν είναι έγκυρο.

Παράδειγμα

Ας πάρουμε το ISBN-10 3-598-21508-8. Το αντικαθιστούμε στον τύπο και παίρνουμε:

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

Εφόσον το αποτέλεσμα είναι 0, αυτό αποδεικνύει ότι το ISBN μας είναι έγκυρο.

Ζητούμενο

Δεδομένης μιας συμβολοσειράς, το πρόγραμμα πρέπει να ελέγχει αν η συμβολοσειρά που δίνεται είναι ένα έγκυρο ISBN-10. Για να το υλοποιήσεις, χρειάζεται λίγη σκέψη σχετικά με την προεπεξεργασία και την ανάλυση της συμβολοσειράς πριν από τον υπολογισμό του ψηφίου ελέγχου του ISBN.

Το πρόγραμμα πρέπει να μπορεί να επαληθεύει ISBN-10 και με και χωρίς διαχωριστικές παύλες.

Προσοχή

Η μετατροπή από συμβολοσειρές σε αριθμούς μπορεί να είναι δύσκολη σε ορισμένες γλώσσες. Τώρα μάλιστα γίνεται ακόμη πιο δύσκολη, αφού το ψηφίο ελέγχου ενός ISBN-10 μπορεί να είναι 'X' (που αντιπροσωπεύει το '10'). Για παράδειγμα, το 3-598-21507-X είναι ένα έγκυρο ISBN-10.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Arturo Exercism

Έτοιμος να ξεκινήσεις την άσκηση Επαληθευτής ISBN;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Arturo με 79 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.