Κόκκοι

Κόκκοι

Μέτριο

Εισαγωγή

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

Οδηγίες

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

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

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

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

Μέγιστη ακέραια τιμή

Σύμφωνα με την τεκμηρίωση του Vim:

Αν υποθέσουμε ότι χρησιμοποιούνται αριθμοί 64 bit (δείτε το v:numbersize), ένας αριθμός χωρίς πρόσημο περικόπτεται στο 0x7fffffffffffffff ή στο 9223372036854775807.

Με άλλα λόγια, το Vim script δεν μπορεί να εκφράσει κανέναν αριθμό 2^63 ή μεγαλύτερο ως ακέραιο.

Μερικά από τα τεστ αυτής της άσκησης απαιτούν ακέραιους 64 bit, κάτι που ξεπερνά τον περιορισμό μεγέθους των ακεραίων του Vim script. Εξαιτίας αυτού του περιορισμού, τα αποτελέσματα των υπολογισμών ελέγχονται σε σχέση με μια συμβολοσειρά που εκφράζει την ακέραια τιμή, αντί να εκφράζεται η απάντηση ως Integer. Μπορείς να το λύσεις αποφεύγοντας αριθμούς που είναι μεγαλύτεροι από ό,τι επιτρέπει άμεσα η γλώσσα;

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

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

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