Κόκκοι

Κόκκοι

Εύκολο

Εισαγωγή

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

Οδηγίες

Υπολόγισε τον αριθμό των κόκκων σιταριού σε μια σκακιέρα.

Μια σκακιέρα έχει 64 τετράγωνα. Το τετράγωνο 1 έχει έναν κόκκο, το τετράγωνο 2 έχει δύο κόκκους, το τετράγωνο 3 έχει τέσσερις κόκκους, και ούτω καθεξής, διπλασιάζοντας κάθε φορά.

Γράψε κώδικα που υπολογίζει:

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

Αριθμοί στην Euphoria

Στην Euphoria ένα atom μπορεί να περιέχει οποιοδήποτε είδος αριθμού, με τον υποτύπο integer να προορίζεται για ακέραιους αριθμούς. Είναι δυνατόν να λύσεις αυτή την άσκηση σε γλώσσες τύπου C επιστρέφοντας έναν ακέραιο 64 bit χωρίς πρόσημο.

Ωστόσο, οι ακέραιοι στην Euphoria έχουν πρόσημο και είναι ένα bit μικρότεροι από τη λέξη της μηχανής, άρα πολύ μικροί για αυτή την άσκηση, ενώ τα atom μπορούν να περιέχουν μεγαλύτερους ακεραίους με την απαιτούμενη ακρίβεια των 64 bit.

32-bit

Υπάρχει μια έκδοση 32-bit της Euphoria, που υπάρχει ακόμα ώστε οι παλαιές εφαρμογές να μπορούν να συνεχίσουν να χρησιμοποιούν προμεταγλωττισμένα 32-bit dll/so όταν δεν υπάρχει διαθέσιμη έκδοση 64-bit, ή το wrapper για κάτι τέτοιο είναι γεμάτο καρφωτές μετατοπίσεις 32-bit. Αυτή η έκδοση είναι εντελώς ανεπαρκής για να λύσεις αυτή την εργασία, αφού αυτά τα atom έχουν ακρίβεια μόνο 53 bit. Αν δυσκολεύεσαι να λύσεις αυτή την άσκηση τοπικά, βεβαιώσου ότι χρησιμοποιείς μια έκδοση 64-bit της Euphoria.

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

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

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