Πέμπτη 24 Ιουνίου 2010

Ο Τριψήφιος Αριθμός

Το άθροισμα των ψηφίων ενός τριψήφιου αριθμού, που περιλαμβάνεται 
μεταξύ του 400 και του 500, ισούται με 9. Εάν αντιστρέψουμε τα ψηφία 
του προκύπτει ένας νέος αριθμός, ο οποίος ισούται με τα 36/47 του 
αρχικού αριθμού. Ποιος είναι αυτός ο τριψήφιος αριθμός;
(Κατ.26/Πρβ. Νο.32)

11 σχόλια:

Νίκος είπε...

Απάντηση: 423


Χρησιμοποιώντας πρόγραμμα:

ΠΡΟΓΡΑΜΜΑ ΤΡΙΨΗΦΙΟΣ_ΑΡΙΘΜΟΣ
!!Ως ΑΑ ο αρχικός αριθμός και ΒΒ ο αντιστραμένος αριθμός
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, β, γ
ΠΡΑΓΜΑΤΙΚΕΣ: ΑΑ, ΒΒ
ΑΡΧΗ
α <- 4
ΓΙΑ β ΑΠΟ 0 ΜΕΧΡΙ 9
ΓΙΑ γ ΑΠΟ 0 ΜΕΧΡΙ 9
ΑΑ <- α*10^2 + β*10 + γ
ΒΒ <- γ*10^2 + β*10 + α
ΑΝ α + β + γ = 9 ΤΟΤΕ
ΑΝ ΒΒ = 36/47*ΑΑ ΤΟΤΕ
ΓΡΑΨΕ 'Ο ΑΡΙΘΜΟΣ ΕΙΝΑΙ Ο ', ΑΑ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ



Αλλά και με υπολογισμούς:
Έστω ο αριθμός 423.Αντιστραμένος γίνεται 324.Προκύπτει αφού:
α)4+2+3=9
β)324=36/47*423

Papaveri είπε...

@Νίκος
Σωστή η λύση.

ΧΑΡΗΣ είπε...

Και λίγη άλγεβρα δε βλάπτει!

Το πρώτο ψηφίο του αριθμού είναι 4, το δεύτερο έστω α και το τρίτο β.
Αφού το άθροισμα των ψηφίων του είναι 9, αυτό σημαίνει ότι α=5-β.

Ο αριθμός γράφεται 400+10α+β = 400+10*(5-β)+β = 450-9β.

Ο αριθμός με αντεστραμμένα ψηφία, αντίστοιχα γράφεται 100β+10α+4 = 100β+10*(5-β)+4 = 90β+54.

Αφού η αναλογία είναι 36/47, έχουμε:
(90β+54)/(450-9β) = 36/47, εξίσωση πρώτου βαθμού με λύση β=3.
Άρα α=5-3=2,
επομένως ο ζητούμενος είναι 423.

Papaveri είπε...

@ΧΑΡΗΣ
Σωστή η λύση. Χάρη, μη σου φαίνετε παράξενο το γεγονός αυτό. Στην εποχή των πολλών ταχυτήτων που ζούμε σήμερα όλα έχουν αυτοματοποιηθεί ακόμα και οι λύσεις των γρίφων, που τους λύνουμε για να περνάει η ώρα, γίνονται μέσω προγραμμάτων, με αποτέλεσμα ν' αδρανοποιείται ο εγκέφαλος. Πάνε οι παλιές εποχές που πέρναμε μολύβι και χαρτί για να λύσουμε κάποιο πρόβλημα.

Emmanuel Manolas είπε...

@papaveri
Ωραία τα λέτε με τον ΧΑΡΗΣ!
Ώστε όσοι γράφουν προγράμματα έχουν αδρανοποιημένο τον εγκέφαλο ενώ αυτοί που έχουν χαρτί και μολύβι εξαιρούνται;
Λοιπόν, αγαπητέ papaveri, πάλι λάθος εκτίμηση κάνεις, όπως πάμπολλες φορές άλλωστε στο ιστολόγιο αυτό.
Ο Η/Υ είναι το εργαλείο του σήμερα. Όσοι δεν το χρησιμοποιούν είναι οι νέοι "αναλφάβητοι".
Σε παλιότερες εποχές μπορούσαν να χαρακτηριστούν αναλφάβητοι όσοι δεν ήξεραν να χρησιμοποιήσουν μολύβι και χαρτί για να εκφράσουν γραπτά την σκέψη τους.
Η χρησιμοποίηση του νέου εργαλείου δεν συνεπάγεται έλλειψη νοητικών διεργασιών! Το αντίθετο θα έλεγα, αφού το πρόγραμμα δεν το γράφει ο Η/Υ αλλά ο άνθρωπος.
Ο Η/Υ είναι πασίγνωστο ότι δεν λύνει προβλήματα. Οι άνθρωποι δημιουργούν αλγορίθμους και προγράμματα και λένε στον Η/Υ ακριβώς τι να κάνει.

Θεωρώ ότι το σχόλιό σου με προσβάλλει.
Εσύ σκέψου ότι χρησιμοποιείς υπολογιστή για να λύσεις το πρόβλημα της δημοσιοποίησης των προβλημάτων σου - δεν τα γράφεις σε ένα χαρτί για να τα δείχνεις στους περαστικούς.

Papaveri είπε...

@alkinoos
Έχω την εντύπωση ότι παρεξηγήσε χωρίς λόγω. Κατ' αρχήν το σχόλιο μου ήταν γενικό και δεν αναφερόμουνα σ' εσένα συγκεκριμένα. Εάν κάθε φορά που σχολιάζω κάτι ενοχλούνται όλοι να σταματήσω τα σχόλια και τους γρίφους. Όταν έγραψα ότι τα προγράμματα λύνουν τους γρίφους δεν εννοούσα ότι τους λύνει ο Η/Υ, αλλά ότι "Οι άνθρωποι δημιουργούν αλγορίθμους και προγράμματα και λένε στον Η/Υ ακριβώς τι να κάνει.". Νομίζω ότι ήταν αυτονόητο.
Δεν έχω καμία αντίρρηση ότι ο Η/Υ είναι εργαλείο και μάλιστα πολύ χρήσιμο για τα σημερινά δεδομένα.
Αλλά θα πρέπει κάπου-κάπου να χρησιμοποιούμε και λίγο τις δυνάμεις μας σε νοητικές εργασίες. Αυτά τα λίγα προς αποφυγή παρεξηγήσεων.

ΧΑΡΗΣ είπε...

@alkinoos
Με τίποτα δεν εννοούσα κάτι εις βάρος σας, αντίθετα σας θαυμάζω που γνωρίζετε από αλγόριθμους και προγραμματισμό.
Σας ζηλεύω επειδή εγώ δε γνωρίζω και ίσως εάν γνώριζα να ξεμυαλιζόμουνα και να άφηνα στην άκρη τις δυο λατρείες μου, την άλγεβρα και κυρίως την πρακτική αριθμητική.
Μην πτοείστε και μην αφήσετε αυτό το blog.

trilizas είπε...

Ας γράψω κι εγώ τη γνώμη μου.

Άλλο πράγμα η χρήση υπολογιστή, άλλο πράγμα ο προγραμματισμός, και άλλο η ανάπτυξη αλγορίθμων.

Να μην τα συγχέουμε.

Εϊναι άλλο πράγμα να χρησιμοποιήσω ένα έτοιμο πρόγραμμα που μου λύνει εξισώσεις και άλλο να φτιάξω ο ίδιος ένα πρόγραμμα που το λύνει. Εγώ προσωπικά δεν κατακρίνω το πρώτο μιας και χρησιμοποιώ προγράμματα για να λύνω εξισώσεις. Αυτό τι σημαίνει? Ότι είμαι χαζός και δεν μπορώ να τα λύσω με το χέρι. Όχι. Μάλλον σημαίνει ότι α) χρειάζεται να λύσω πολλά συστήματα εξισώσεων κάθε μέρα και θα μου παιρνε χρόνο να τα κάνω με το χέρι και β) ότι δεν θεωρώ πνευματική άσκηση την επίλυση εξισώσεων. Αντιθέτως είναι μια βαρετή και χρονοβόρα διαδικασία που είναι και τυφλοσούρτης. Δεν χρειάζεται να σκεφτώ τίποτα.

Για τον ίδιο λόγο που να προσθέσει ή να πολλαπλασιάσει κανείς 3, 4 μεγάλους αριθμούς ή πίνακες χρησιμοποιεί υπολογιστή η κομπιουτεράκι. Γιατί απλά δεν είναι κάτι το δημιουργικό το να κάνω τις πράξεις με χαρτί και μολύβι.

Όμως το να φτιάξεις καλό αλγόριθμο που να σου πολλαπλασιάζει π.χ. πίνακες είναι ιδιαίτερα ενδιαφέρουσα πνευματική διαδικασία.

Emmanuel Manolas είπε...

@trilizas
Κάποια πράγματα είναι ήδη λυμένα και δεν ασχολούμαστε πολύ με αυτά. Σου παραθέτω μια αρχαία υπορουτίνα σε Fortran.

SUBROUTINE MATPRD(A,B,R,N,M,L)
C
C ******************************************************************
C
C PURPOSE
C TO FORM THE PRODUCT OF TWO GENERAL MATRICES (R=AB)
C
C USAGE
C CALL MATPRD(A,B,R,N,M,L)
C
C PARAMETER DESCRIPTION
C A(N,M) - PREMULTIPLIER INPUT MATRIX
C B(M,L) - POST MULTIPLIER INPUT MATRIX
C R(N,L) - RESULTANT MATRIX WHICH CONTAINS THE PRODUCT AB
C N - NUMBER OF ROWS IN MATRICES A AND R
C M - NUMBER OF COLUMNS IN MATRIX A AND ROWS IN MATRIX
C B
C L - NUMBER OF COLUMNS IN MATRICES B AND R
C
C METHOD
C THE ELEMENT R(I,J) IS FORMED BY THE VECTOR INNER PRODUCT
C OF THE I-TH ROW OF MATRIX A AND THE J-TH COLUMN OF
C MATRIX B .
C
C REMARKS
C MEMORY LENGTH = $0077 = 00119
C MATRIX R MAY NOT BE THE SAME AS EITHER MATRICES A OR B.
C FOR A CORRECT RESULT, THE NUMBER OF COLUMNS IN MATRIX A
C MUST BE THE SAME AS THE NUMBER OF ROWS IN MATRIX B.
C
C SUBPROGRAMS REQUIRED
C NONE
C
C REFERENCES
C G. HADLEY
C LINEAR ALGEBRA
C ADDISON WESLEY PUBLISHING CO., 1961, PP.66-67
C
C ******************************************************************
C
DIMENSION A(N*M),B(M*L),R(N*L)
IR=0
IK=-M
DO 10 K=1,L
IK=IK+M
DO 10 J=1,N
IR=IR+1
JI=J-N
IB=IK
R(IR)=0
DO 10 I=1,M
JI=JI+N
IB=IB+1
10 R(IR)=R(IR)+A(JI)*B(IB)
RETURN
END

trilizas είπε...

sat@αλκινοος

Φυσικά και γνωρίζω ότι υπάρχουν αλγόριθμοι και δεν υπάρχει νόημα να τους ξαναπρογραμματίζει από την αρχή. Και όπως έγραψα παραπάνω χρησιμοποιώ μαθηματικά πακέτα και τα θεωρώ εξαιρετικά χρήσιμα.

Το πνεύμα του τελευταίου σχολιου μου που αφορούσε (μόνο σαν παράδειγμα) στον πολλαπλασιασμό πινάκων, έχει να κάνει με το γεγονός ότι το να σχεδιάσεις έναν αλγόριθμο μπορεί να είναι απλό (που πολλές φορές δεν είναι). Το να σχεδιάσεις όμως έναν αποδοτικό αλγόριθμο δεν είναι απλό. Άρα συμφωνώ απόλυτα με την προηγούμενη δική σου τοποθέτηση.

Π.χ, αν και δεν γνωρίζω φόρτραν από ότι κατάλαβα ο αλγόριθμος που χρησιμοποιείς κάνει το προφανές και άρα έχει πολυπλοκότητα O(n^3). Ο αλγόριθμος του Strassen (υπάρχουν και πιο γρήγοροι αλγόριθμοι) που δεν κάνει το προφανές ρίχνει τον εκθέτη σε περίπου 2.8. Το να φτιάξει κανείς αποδοτικούς αλγορίθμους δεν είναι καθόλου τετριμμένη διαδικασία και απαιτεί βαθιά μαθηματική σκέψη.

Emmanuel Manolas είπε...

@trilizas
Δίκιο έχεις, υπάρχουν ταχύτεροι αλγόριθμοι. Συνήθως φαίνεται η ταχύτητά τους σε πολλαπλασιασμό μεγάλων πινάκων.

Αυτό το πρόγραμμα που σου έδειξα ξέρει τον τρόπο που είναι αποθηκευμένοι οι πίνακες στην μνήμη (ας πούμε κατά στήλες) και χρησιμοποιεί μονοδιάστατα διανύσματα αντί για διπλοδιάστατους πίνακες για να αποφύγει πράξεις με δείκτες. Ο κύριος λόγος που το έδειξα είναι η χρονολογία, 1961.
Από τότε άλλαξαν και οι γλώσσες και οι αλγόριθμοι και οι ανάγκες να προγραμματίζουμε όσα χρειαζόμαστε. Υπάρχουν "πακέτα" που κάνουν θαύματα συγκρινόμενα με τις δυνατότητες μιας βιβλιοθήκης με υπορουτίνες, όπως συνηθιζόταν "στην εποχή μου". Βέβαια, αυτοί που φτιάχνουν τα πακέτα (και μας τα πουλάνε) ξέρουν απέξω κι ανακατωτά πώς να γράφουν τις παλιές καλές υπορουτίνες...

 

Papaveri48 © 2010

PSD to Blogger Templates by OOruc & PSDTheme by PSDThemes