Διαδρομές
/
F#
F#
/
Ασκήσεις
/
Αλφαριθμητικά
Αλφαριθμητικά

Αλφαριθμητικά

Δύσκολο

Οδηγίες

Με δεδομένο ένα παζλ alphametics, βρες τη σωστή λύση.

Το Alphametics είναι ένα παζλ όπου τα γράμματα μέσα στις λέξεις αντικαθίστανται από αριθμούς.

Για παράδειγμα, SEND + MORE = MONEY:

  S E N D
  M O R E +
-----------
M O N E Y

Αντικαθιστώντας τα με έγκυρους αριθμούς προκύπτει:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

Αυτό είναι σωστό γιατί κάθε γράμμα αντικαθίσταται από έναν διαφορετικό αριθμό και οι λέξεις, μεταφρασμένες σε αριθμούς, σχηματίζουν ένα έγκυρο άθροισμα.

Κάθε γράμμα πρέπει να αντιπροσωπεύει ένα διαφορετικό ψηφίο και το πρώτο ψηφίο ενός πολυψήφιου αριθμού δεν πρέπει να είναι μηδέν.

Υποδείξεις

  • Για να αναλύσεις το κείμενο, θα μπορούσες να δοκιμάσεις τη βιβλιοθήκη FParsec.
  • Μπορείς να λύσεις αυτή την άσκηση με έναν αλγόριθμο brute force, αλλά αυτό πιθανώς θα έχει κακή απόδοση κατά την εκτέλεση. Προσπάθησε να βρεις μια πιο εκλεπτυσμένη λύση. Υπόδειξη: Θα μπορούσες να δοκιμάσεις τον αλγόριθμο πρόσθεσης κατά στήλες που συνήθως διδάσκεται στο σχολείο.
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
F# Exercism

Έτοιμος να ξεκινήσεις την άσκηση Αλφαριθμητικά;

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