Εργάζεσαι σε μια εταιρεία που φτιάχνει ένα διαδικτυακό παιχνίδι επιβίωσης σε κόσμο φαντασίας.
Όταν ένας παίκτης τελειώνει μια πίστα, κερδίζει πόντους ενέργειας. Το πόση ενέργεια παίρνει εξαρτάται από τα μαγικά αντικείμενα που βρήκε εξερευνώντας εκείνη την πίστα.
Η αποστολή σου είναι να γράψεις τον κώδικα που υπολογίζει τους πόντους ενέργειας που κερδίζουν οι παίκτες όταν ολοκληρώνουν ένα επίπεδο.
Οι πόντοι που κερδίζονται εξαρτώνται από δύο πράγματα:
Οι πόντοι ενέργειας υπολογίζονται σύμφωνα με τους παρακάτω κανόνες:
Ας δούμε ένα παράδειγμα:
Ο παίκτης ολοκλήρωσε το επίπεδο 20 και βρήκε δύο μαγικά αντικείμενα με βασικές τιμές 3 και 5.
Για να υπολογίσουμε τους πόντους ενέργειας που κέρδισε ο παίκτης, πρέπει να βρούμε όλα τα μοναδικά πολλαπλάσια αυτών των βασικών τιμών που είναι μικρότερα από το επίπεδο 20.
{3, 6, 9, 12, 15, 18}
{5, 10, 15}
{3, 5, 6, 9, 10, 12, 15, 18}
3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
| Καταχωρητής | Χρήση | Τύπος | Περιγραφή |
|---|---|---|---|
$a0 |
είσοδος | διεύθυνση | πίνακας με λέξεις παραγόντων |
$a1 |
είσοδος | ακέραιος | πλήθος παραγόντων |
$a2 |
είσοδος | ακέραιος | όριο |
$v0 |
έξοδος | ακέραιος | άθροισμα των πολλαπλασίων εντός του ορίου |
$t0-9 |
προσωρινός | ό,τιδηποτε | χρησιμοποιείται για προσωρινή αποθήκευση |
Γράψου στο Exercism για να μάθεις και να κατακτήσεις MIPS Assembly με 70 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.