Διαδρομές
/
Erlang
Erlang
/
Ασκήσεις
/
Πυθαγόρεια τριάδα
Πυθαγόρεια τριάδα

Πυθαγόρεια τριάδα

Μέτριο

Εισαγωγή

Είσαι ένας καταξιωμένος λύτης προβλημάτων, γνωστός για την ικανότητά σου να αντιμετωπίζεις τα πιο απαιτητικά μαθηματικά παζλ. Ένα βράδυ, λαμβάνεις ένα επείγον γράμμα από έναν εφευρέτη που λέγεται Triangle Tinkerer, ο οποίος δουλεύει πάνω σε ένα πρωτοποριακό νέο έργο. Το γράμμα λέει:

Αγαπητέ Μαθηματικέ,

Χρειάζομαι τη βοήθειά σου. Σχεδιάζω μια συσκευή που βασίζεται στις μοναδικές ιδιότητες των πυθαγόρειων τριάδων, δηλαδή συνόλων τριών ακεραίων που ικανοποιούν την εξίσωση a² + b² = c². Αυτή η συσκευή θα φέρει επανάσταση στην πλοήγηση, αλλά για να δουλέψει, πρέπει να την προγραμματίσω με κάθε δυνατή τριάδα όπου το άθροισμα των a, b και c ισούται με έναν συγκεκριμένο αριθμό, N. Ο υπολογισμός αυτών των τριάδων με το χέρι θα μου έπαιρνε χρόνια, αλλά ακούω ότι είσαι παραπάνω από ικανός για αυτό το έργο.

Ο χρόνος είναι κρίσιμος. Το μέλλον της εφεύρεσής μου, και ίσως ακόμη και το μέλλον της μαθηματικής καινοτομίας, εξαρτάται από την ικανότητά σου να λύσεις αυτό το πρόβλημα.

Υποκινημένος από τη σημασία του έργου, ξεκινάς να βρεις όλες τις πυθαγόρειες τριάδες που ικανοποιούν τη συνθήκη. Η δουλειά σου θα μπορούσε να έχει εκτεταμένες επιπτώσεις, ανοίγοντας νέες δυνατότητες στην επιστήμη και τη μηχανική. Μπορείς να ανταποκριθείς στην πρόκληση και να γράψεις ιστορία;

Οδηγίες

Μια πυθαγόρεια τριάδα είναι ένα σύνολο τριών φυσικών αριθμών, {a, b, c}, για τους οποίους ισχύει ότι

a² + b² = c²

και ότι

a < b < c

Για παράδειγμα,

3² + 4² = 5².

Δεδομένου ενός ακέραιου αριθμού N, βρες όλες τις πυθαγόρειες τριάδες για τις οποίες a + b + c = N.

Για παράδειγμα, με N = 1000, υπάρχει ακριβώς μία πυθαγόρεια τριάδα για την οποία a + b + c = 1000: {200, 375, 425}.

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

Έτοιμος να ξεκινήσεις την άσκηση Πυθαγόρεια τριάδα;

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