CCO-13 (2013) - 1 (All Your Base Belong to Palindromes)

View as PDF

Submit solution

Points: 25 (partial)
Time limit: 1.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
All Your Base Belong to Palindromes

Τις περισσότερες φορές, οι άνθρωποι έχουν 10 δάχτυλα. Αυτό το γεγονός είναι ο κύριος λόγος που το σύστημα αρίθμησής μας είναι με βάση-10: ο αριθμός 257 σημαίνει πραγματικά 2 × 10^2 + 5 × 10^1 + 7 × 10^0. Παρατηρήστε ότι κάθε ψηφίο στη βάση-10 είναι στο διάστημα από 0 ... 9.

Φυσικά, υπάρχουν και άλλες βάσεις που μπορούμε να χρησιμοποιήσουμε: δυαδική (βάση-2), οκταδική (βάση-8) και δεκαεξαδική (βάση-16) είναι κοινές βάσεις που χρησιμοποιούν πραγματικά cool άνθρωποι όταν προσπαθούν να εντυπωσιάσουν τους άλλους. Στη βάση-b, τα ψηφία είναι στο διάστημα από 0 ... b - 1, με κάθε ψηφίο (όταν διαβάζεται από δεξιά προς τα αριστερά) να είναι ο πολλαπλασιαστής της επόμενης μεγαλύτερης δύναμης του b.

Έτσι, για παράδειγμα 9 (στη βάση-10) είναι:

  • 9 στη βάση-16

  • 11 στη βάση-8 (1 × 8^1 + 1 × 8^0 = 9)

  • 1001 στη βάση-2 (1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 1 × 2^0 = 9)

Παρατηρώντας τα παραπάνω, μπορείτε να δείτε ότι το 9 είναι ένα παλίνδρομο σε αυτές τις 3 διαφορετικές βάσεις. Ένα παλίνδρομο είναι μια ακολουθία που είναι ίδια ακόμα κι αν είναι γραμμένη με αντίστροφη σειρά: αγγλικές λέξεις όπως "dad", "mom" και "racecar" είναι παλίνδρομα, και αριθμοί όπως το 9, 11, 1001 είναι επίσης παλίνδρομοι.

Δεδομένου ενός συγκεκριμένου αριθμού X (στη βάση-10), για ποιες βάσεις b (2 \le b < X) είναι η αναπαράσταση του X στη βάση-b ένα παλινδρομο;

Είσοδος

Θα υπάρχει μία γραμμή, που θα περιέχει τον ακέραιο X (2 \le X \le 1\,000\,000\,000).

Βαθμολογία

Για τις περιπτώσεις ελέγχου αξίας 80% των βαθμών, μπορείτε να υποθέσετε ότι X \le 10\,000.

Έξοδος

Η έξοδος θα πρέπει να αποτελείται από μία ακολουθία αυξανόμενων ακεραίων, με τον καθένα στη δική του γραμμή, που θα υποδεικνύουν ποιές βάσεις έχουν την ιδιότητα ότι αν γραφεί το X σε εκείνη τη βάση θα είναι παλίνδρομο. Σημειώστε ότι μας αφορούν μόνο οι βάσεις που είναι μικρότερες του X και ότι η πρώτη πιθανή έγκυρη βάση είναι το 2.

Παράδειγμα

input

9

output

2
8
Επεξήγηση του παραδείγματος

Ο αριθμός 9 αποδείχτηκε ότι ήτσν παλίνδρομος στη βάση-2 κσι βάση-8 στην περιγραφή του προβλήματος. Οι άλλες βάσεις δεν οδηγούν σε παλίνδρομο: για παράδειγμα, στη βάση-3, το 9 εκφράζεται ως 100 και στη βάση-5, το 9 εκφράζεται ως 14.


Comments

There are no comments at the moment.