Θα σας εκμυστηρευτώ μια ικανότητα που έχω και η οποία πάντα εντυπωσιάζει φίλους και γνωστούς σε συνάξεις. Μπορώ να ακούσω (χωρίς να κρατάω καμία σημείωση εννοείται, όλα γίνονται μέσα στο υπέροχο κεφάλι μου) 99 αριθμούς, από το σύνολο:{1,2,3,...,98,99,100}, σε γρήγορο ρυθμό και τυχαία σειρά αναγγελίας, και στο τέλος αναγγέλλω τον αριθμό που λείπει! Αυτόν δηλαδή που δεν μού είπαν! Πώς το κάνω; Είμαι αριθμομνήμων; Έχω κάποιο ειδικό ταλέντο; Ή χρησιμοποιώ κάποιο κόλπο; Βοήθεια: Δεν είμαι αριθμομνήμων, ούτε έχω κάποιο ειδικό ταλέντο, ούτε καν καλός στις μεγάλες προσθέσεις δεν είμαι! :-)
Εγγραφή σε:
Σχόλια ανάρτησης (Atom)
Μια πρώτη προσέγγιση μπορεί να είναι η παρακάτω:
ΑπάντησηΔιαγραφήΔεδομένου ότι: (1+2+3+...+100)=5050mod100=50
Μία λύση είναι να μετράμε σε mod100 καθε που θα
μας λένε έναν αριθμόπ.χ
+40 mod100=40
+50mod100=50 +40=90mod100
+15mod100=15+90=105=5mod100
+85mod100=85+5=90mod100
+70mod100=70+90=160=60mod100
…...................................
…......................................
(1+2+3+....+54)+(56+57+....+100)=95mod100
άρα λείπει το 55, 55mod100+95mod95=150mod100=
=50mod100= 5050mod100
ή έστω αν μετά από 99 αριθμούς αθροίσαμε 36mod100,άρα λείπει το 14, 14mod100+36mod100=50mod100=5050mod100
Προσωπικά δεν θα τα κατάφερνα επειδή θα ξεχνούσα
τα mod,λόγω μετριότατης μνήμης, παιδιόθεν
(εξ ου και η ...μεγάλη μου ...συμπάθεια για μαθηματικούς τύπους), και δεν λέει να ...βελτιωθεί με τα χρόνια!!
Εκτός αν το “κόλπο” έχει ευκολότερη προσέγγιση!
Αθροίζεις τις μονάδες των αριθμών και ξεχωριστά τις δεκάδες των αριθμών?
ΑπάντησηΔιαγραφήΝομιζω οτι πιο ευκολο θα ηταν να μετρουσαμε σε mod10 ξεχωριστα τις μοναδες και ξεχωριστα τις δεκαδες. Αυτο γιατι το αθροισμα ολων των δεκαδων ειναι 450 οπως και το αθροισμα ολων των μοναδων ειναι 550. Και τα δυο αθροισματα ειναι 0mod10. Για παραδειγμα αν μας πουν τους αριθμους 38+45+91 προσθετουμε τις δεκαδες 3+4+9=16= 6mod10 kai τις μοναδες 8+5+1=14= 4mod10. Επειδη εμεις θελουμε να φτασουμε σε 0mod10 ο αριθμος που λειπει ειναι ο 46. Δηλαδη με πιο απλα λογια όποτε το αθροισμα των δεκαδων ξεπερναει το 10 κραταμε μονο το ψηφιο των μοναδων και το ιδιο κανουμε και οποτε το αθροισμα των μοναδων ξεπερναει το 10.
ΑπάντησηΔιαγραφήΛοιπόν, έτσι για αλλαγή ,λέω να μην αποκαλύψω το μυστικό... καλά,καλάα, έχετε χάρη που είμαι καλό παιδί και κρατάω το λόγο μου!
ΑπάντησηΔιαγραφήΌλοι καλά τα είπατε, και όλοι δίκαιο(ποινικό..) έχετε!
Αλλά ο απαιτούμενος κόπος είναι ακόμα πιο λίγος,καθότι περιορίζομαι σε διψήφια αθροίσματα και μόνο, και χρησιμοποιώ 2 μαγκιόρικους τύπους (Αν κάποιος θέλει να τους χρησιμοποιήσει ,ενημερώνω ότι προστατεύονται από κοπυράιτ και τιμώνται προς 2,25 ευρώ/τεμ./φορά εφαρμογής. Πληροφορίες εντός.)
Η σούμα 1+..+100 κάνει 5050. Άρα ο αριθμός που λείπει ,έστω λ είναι =5050-Σ(i=1 έως 99)των 99 τσιταρισμένων αριθμών. Αν ας πούμε λείπει το 10 το Σ είναι 5040. Σιγά τα ωά! θα πειτε δικαιολογημένα, αλλά μη βιάζεστε. Το καλό ακολουθεί.
Επειδή ,όπως είπα και στην εκφώνηση, είμαι ελαφρώς βραδύνους και τα χάνω στις γρήγορες προσθέσεις τριψήφιων και τετραψήφιων αριθμών, ο καλός ινδικός θεούλης των αριθμών Βραχμακόρεπουτναμπακόρμανούτζαν μου φανέρωσε σε όραμα το κόλπο του αλγορίθμου:"Δυοψηφίαφτάνουνσιορ" (στους εγγλέζους αποικιοκράτες εν Ινδίαι πέρασε σαν "Transform and Conquer") . Αρκούν τα 2 τελευταία ψηφία των αθροισμάτων. Αυτό συμβαίνει,γιατί το Σ έχει 100 πιθανές τιμές,από το 4950 έως και το 5049 και οι 100 αυτές πιθανές τιμές αντιπροσωπεύονται μονοσήμαντα από τα 2 τεκευταία ψηφία τους. Έτσι, μπορώ να βρω εύκολα την τιμή λ από τους τύπους:
λ=50-κ ,για 0<=κ<=49 ,ή
λ=150-κ ,για 50<=κ<=99
όπου κ=ο διψ. ακέραιος μεταξύ 0 και 99 που σχηματίζεται από τα 2 τελ. ψηφία του Σ.
Έχουμε δηλαδή π.χ
Για λ=1,2,...,49
Σ=5049,5048,...,5001
κ=49, 48,...,1
50-κ= 1,2,...,49,50 (για λ=50, Σ=5000,κ=0,50-κ=50)
Ομοίως(με τον άλλο τύπο) και για τα λ από 51 έως 99:
Π.χ λ=99 , Σ=4951, κ=51, 150-κ=99 :-)
Kαλό έ;
Αργότερα, οι άθεοι δυτικοί είπαν ότι οι τύποι δεν είναι μαγικοί και θεόσταλτοι ,αλλά βγαίνουν λέει από κάποια γενική ιδιότητα της modular διαίρεσης, ή κάτι τέτοια.., που δεν τα καλοκαταλαβαίνω,αλλά απλώς σάς τα παρουσιάζω:
(S-Σ)mod100=(Smod100 - Σmod100)mod100
όπου S στην περίπτωσή μας το 5050.
Smod100=50 και λ=Σμοδ100 είναι τα υπόλοιπα των διαιρέσεων των S και Σ αντίστοιχα,με το 100, που είναι τα 2 τελευταία ψηφία των S kai Σ.
Άρα για την υπολειπόμενη τιμή λ μεταξύ του 1 και του 99 ,έχουμε:
λ=λmod100=(S-Σ)mod100=(50-κ)mod100 =..ο διπλός τύπος πιο πάνω.
ΥΓ. Για λ=100, μπορεί να χρησιμοποιηθεί ο δεύτερος τύπος, γιατί τότε έχουμε: Σ=5050-100=4950, κ=50, και λ=150-κ= 100.
ΥΓ2. Δοκιμάστε το κόλπο!(λίγη (μικρή) εξάσκηση θέλει)και εντυπωσιάζει πάντα! :-)
Ίδιο με το mod100 δεν είναι? Αφού και με mod100 τα 2 τελευταία ψηφία κρατάμε, 90+60=150=50od100
ΑπάντησηΔιαγραφή50+82=132=32mod100=32 και στο τέλος αν βγει 95, γράφω, άρα λείπει το 55 (150-95)(έχω και ένα πληκτρολογικό λάθος γράφω 95mod95, αντί 95mod100,εννοείται.
Η μόνη διαφορά είναι ότι δεν χρειαζόταν να κάνω αναφορά στο mod100, αλλά κατευθείαν τα 2 τελευταία ψηφία, κατά τα άλλα είναι ακριβώς το ίδιο!
ΥΓ Επέλεξα το mod100, γιατί με αυτό χρειάζεται να κρατάμε μόνο τα 2 τελευταία ψηφία κάθε πρόσθεσης!
ΑπάντησηΔιαγραφή