CCC-96 (1996) - 2 (Div)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 1M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Div

Γράψτε ένα πρόγραμμα που δέχεται ως είσοδο έναν θετικό ακέραιο και ελέγχει, χρησιμοποιώντας τον αλγόριθμο που περιγράφεται παρακάτω, για να δει εάν ο ακέραιος διαιρείται με το 11 ή όχι. Αυτό το συγκεκριμένο τεστ για τη διαιρετότητα με το 11 δόθηκε το 1897 από τον Charles L. Dodgson (Lewis Carroll ).

Αλγόριθμος:
 Εφόσον ο αριθμός που ελέγχεται έχει περισσότερα από δύο ψηφία, σχηματίστε έναν νέο αριθμό από:

  • διαγράφοντας το ψηφίο των μονάδων
  • αφαιρώντας το διαγραμμένο ψηφίο από τον συντομευμένο αριθμό

 Ο υπόλοιπος αριθμός διαιρείται με το 11 εάν και μόνο εάν ο αρχικός αριθμός διαιρείται με το 11.

Σημείωση:  Τα προηγούμενα μηδενικά δεν θεωρούνται μέρος του αριθμού και δεν πρέπει να εκτυπώνονται.

Ως συνήθως, ο πρώτος αριθμός στην είσοδο υποδεικνύει τον αριθμό των θετικών ακεραίων που ακολουθούν. Κάθε θετικός ακέραιος έχει το πολύ 50 ψηφία. Μπορείτε να υποθέσετε ότι δεν υπάρχουν αρχικά μηδενικά στους θετικούς ακέραιους αριθμούς.

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

Παράδειγμα

input

1
12345678901234567900

output

12345678901234567900
1234567890123456790
123456789012345679
12345678901234558
1234567890123447
123456789012337
12345678901226
1234567890116
123456789005
12345678895
1234567884
123456784
12345674
1234563
123453
12342
1232
121
11
The number 12345678901234567900 is divisible by 11.

Comments

There are no comments at the moment.