Κόκκοι

Κόκκοι

Εύκολο

Οδηγίες

Υπολόγισε τον αριθμό των κόκκων σιταριού σε μια σκακιέρα, δεδομένου ότι ο αριθμός σε κάθε τετράγωνο διπλασιάζεται.

Μια φορά κι έναν καιρό ήταν ένας σοφός υπηρέτης που έσωσε τη ζωή ενός πρίγκιπα. Ο βασιλιάς υποσχέθηκε να τον πληρώσει με ό,τι κι αν μπορούσε να σκεφτεί ο υπηρέτης. Γνωρίζοντας ότι ο βασιλιάς αγαπούσε το σκάκι, ο υπηρέτης τού είπε πως θα ήθελε να πάρει κόκκους σιταριού. Έναν κόκκο στο πρώτο τετράγωνο μιας σκακιέρας, με τον αριθμό των κόκκων να διπλασιάζεται σε κάθε επόμενο τετράγωνο.

Η σκακιέρα έχει 64 τετράγωνα (όπου το τετράγωνο 1 έχει έναν κόκκο, το τετράγωνο 2 έχει δύο κόκκους κ.ο.κ.).

Γράψε κώδικα που δείχνει:

  • πόσοι κόκκοι ήταν σε ένα δεδομένο τετράγωνο, και
  • τον συνολικό αριθμό των κόκκων στη σκακιέρα

Σημείωση

Αυτού του είδους τα προβλήματα (όπου μια απάντηση εξαρτάται από μια προηγούμενη) ονομάζονται συχνά αναδρομή. Υπάρχουν διαφορετικοί τρόποι να γράψεις κώδικα με αναδρομή, και ίσως αξίζει να το ερευνήσεις αν δεν το γνωρίζεις. Το Pharo είναι καλά βελτιστοποιημένο για αναδρομή, και είναι ένα συχνά χρησιμοποιούμενο μοτίβο.

Σημείωση: στην αρχική προδιαγραφή του προβλήματος, το grainsCalculator καλείται μέσω #square, ωστόσο έχουμε μετονομάσει αυτή τη μέθοδο σε #atSquare:, που είναι ένα όνομα πιο κοντά στο Smalltalk, και περιγράφει καλύτερα ότι ζητάς μια απάντηση "σε ένα τετράγωνο".

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

Έτοιμος να ξεκινήσεις την άσκηση Κόκκοι;

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