Εντόπισε παλινδρομικά γινόμενα σε ένα δεδομένο διάστημα.
Ένας παλινδρομικός αριθμός είναι ένας αριθμός που παραμένει ίδιος όταν αντιστραφούν τα ψηφία του.
Για παράδειγμα, το 121 είναι παλινδρομικός αριθμός αλλά το 112 δεν είναι.
Δεδομένου ενός διαστήματος αριθμών, βρες το μεγαλύτερο και το μικρότερο παλίνδρομο που είναι γινόμενα δύο αριθμών μέσα σε αυτό το διάστημα.
Η λύση σου θα πρέπει να επιστρέφει το μεγαλύτερο και το μικρότερο παλίνδρομο, μαζί με τους παράγοντες του καθενός μέσα στο διάστημα. Αν το μεγαλύτερο ή το μικρότερο παλίνδρομο έχει περισσότερα από ένα ζεύγη παραγόντων μέσα στο διάστημα, τότε επίστρεψε όλα τα ζεύγη.
Δεδομένου του διαστήματος [1, 9] (συμπεριλαμβανομένων και των δύο άκρων)...
Και δεδομένης της λίστας όλων των δυνατών γινομένων μέσα σε αυτό το διάστημα:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]
Τα παλινδρομικά γινόμενα είναι όλα μονοψήφιοι αριθμοί (στη συγκεκριμένη περίπτωση):
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Το μικρότερο παλινδρομικό γινόμενο είναι το 1.
Οι παράγοντές του είναι (1, 1).
Το μεγαλύτερο παλινδρομικό γινόμενο είναι το 9.
Οι παράγοντές του είναι (1, 9) και (3, 3).
Δεδομένου του διαστήματος [10, 99] (συμπεριλαμβανομένων και των δύο άκρων)...
Το μικρότερο παλινδρομικό γινόμενο είναι το 121.
Οι παράγοντές του είναι (11, 11).
Το μεγαλύτερο παλινδρομικό γινόμενο είναι το 9009.
Οι παράγοντές του είναι (91, 99).
Οι αφελείς λύσεις μπορεί να αργήσουν πολύ να περάσουν τα τεστ που περιλαμβάνουν τετραψήφιους παράγοντες, πιθανότατα περισσότερο από το χρονικό όριο που διαθέτει ο διαδικτυακός εκτελεστής δοκιμών. Ίσως χρειαστεί να δουλέψεις την άσκηση τοπικά για να κάνεις profiling στη λύση σου. Υπάρχουν αποδοτικές λύσεις για αυτή την άσκηση, αλλά είναι απαιτητικές.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Elm με 28 έννοιες110 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.