×
Επεξεργασία Προφίλ Επεξεργασία Avatar Επεξεργασία Υπογραφής Επεξεργασία Επιλογών E-mail και Κωδικός Ρυθμίσεις Ειδοποιήσεων
×
Αποσύνδεση Οι Συνδρομές μου Το Προφίλ μου Τα Posts μου Τα Threads μου Λίστα Επαφών Αντιδράσεις σε Posts μου Παραθέσεις των Posts μου Αναφορές σε Εμένα Ενέργειες Συντονιστών Αόρατος Χρήστης
Τι;
Πως;
Ταξινόμηση
Που;
Σε συγκεκριμένη κατηγορία;
Ποιος;
Αποτελέσματα Αναζήτησης
Συμπληρώστε τουλάχιστον το πεδίο Τι;

Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 67,802 μέλη και 2,440,984 μηνύματα σε 76,702 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα 172 άτομα.

Καλώς ήρθατε στο e-steki!

Εγγραφή Βοήθεια

Μαθηματικά Προγραμματιστικά Προβλήματα

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 22:03, 19-02-07:

#1
Λοιπόν το πρόβλημα είναι προγραμματιστικής φύσεως αλλά θεωρώ ότι ταιριάζει περισσότερο εδώ μιας και αφορά καθαρή μαθηματική σκέψη...

Ως γνωστόν για να κάνουμε ανταλλαγή τιμών (το λεγόμενο swap) ανάμεσα σε δύο μεταβλητές Α και Β,ο καθιερωμένος τρόπος είναι ο εξής:

C=A;
A=B;
B=C;

Το ερώτημα είναι...

Υπάρχει τρόπος να κάνουμε ανταλλαγή τιμών χωρίς τη χρήση βοηθητικής μεταβλητής?(της C δηλαδή)

Περιμένω τις απαντήσεις σας!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 12,084 μηνύματα.

O Γιώργος Hunt or be Hunted. έγραψε: στις 22:09, 19-02-07:

#2
Πρέπει να είναι σωστή η σκέψη μου.... Check it out
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 22:14, 19-02-07:

#3
Αρχική Δημοσίευση από Γιωργος
Πρέπει να είναι σωστή η σκέψη μου.... Check it out
Σωστοοοοοος!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Subject to change (Λία)

Founder

H Λία αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Web developer . Έχει γράψει 10,258 μηνύματα.

H Subject to change έγραψε: στις 22:18, 19-02-07:

#4
Έστειλα κι εγώ.
Άντε κάντε μια βόλτα και απο τη ΘΑ
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 22:23, 19-02-07:

#5
Αρχική Δημοσίευση από Michelle
Έστειλα κι εγώ.
Άντε κάντε μια βόλτα και απο τη ΘΑ
Σωστή και η Μισέλ!

Υ.Γ.:Έβαλες κι άλλο?Πάω να δω!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 00:18, 20-02-07:

#6
Σωστό tralala!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 00:31, 20-02-07:

#7
Ναι....

Σωστά μαντέψατε.....

Σωστή και η io-io....

Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

io-io

Διακεκριμένο μέλος

H io-io αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 33 ετών και επαγγέλεται Μαθηματικός . Έχει γράψει 1,841 μηνύματα.

H io-io έγραψε: στις 00:32, 20-02-07:

#8



Λυσε τη θεωρια αριθμων της Μισελ τωρα!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

ALEX_

Διάσημο Μέλος

Ο ALEX_ αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Μαθηματικός . Έχει γράψει 1,048 μηνύματα.

O ALEX_ έγραψε: στις 00:34, 20-02-07:

#9
Αρχική Δημοσίευση από io-io



Λυσε τη θεωρια αριθμων της Μισελ τωρα!
Ομολογώ ότι ψιλοσκάλωσα εκεί.......και έχω ξαναλύσει τέτοια ρε γαμώτο...
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Bill

Διακεκριμένο μέλος

Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 3,895 μηνύματα.

O Bill έγραψε: στις 19:43, 17-03-08:

#10
Αρχική Δημοσίευση από ALEX_
Λοιπόν το πρόβλημα είναι προγραμματιστικής φύσεως αλλά θεωρώ ότι ταιριάζει περισσότερο εδώ μιας και αφορά καθαρή μαθηματική σκέψη...

Ως γνωστόν για να κάνουμε ανταλλαγή τιμών (το λεγόμενο swap) ανάμεσα σε δύο μεταβλητές Α και Β,ο καθιερωμένος τρόπος είναι ο εξής:

C=A;
A=B;
B=C;

Το ερώτημα είναι...

Υπάρχει τρόπος να κάνουμε ανταλλαγή τιμών χωρίς τη χρήση βοηθητικής μεταβλητής?(της C δηλαδή)

Περιμένω τις απαντήσεις σας!
Καθαρά προγραμματιστικά με αυτό τον τρόπο(χωρίς χρήση του C) μπορεί να δημιουργηθούν προβλήματα πάντως.
Αν η λύση είναι αυτή που αφαιρούμε από το Α το Β και το αποθηκεύουμε στο Α κοκ.
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Subject to change (Λία)

Founder

H Λία αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Web developer . Έχει γράψει 10,258 μηνύματα.

H Subject to change έγραψε: στις 21:20, 17-03-08:

#11
Αρχική Δημοσίευση από Bill
Καθαρά προγραμματιστικά με αυτό τον τρόπο(χωρίς χρήση του C) μπορεί να δημιουργηθούν προβλήματα πάντως.
Αν η λύση είναι αυτή που αφαιρούμε από το Α το Β και το αποθηκεύουμε στο Α κοκ.
Ακριβώς. Διότι αν έχουμε πχ 2 μεταβλητές τύπου byte, που χωράει μέχρι 1 byte (στη Java), το να τους αθροίσουμε και να τους βάλουμε στη μια εκ των δύο, μπορεί να οδηγήσει σε overflow και να χάσουμε δεδομένα. Πχ το byte πάει μέχρι 255. Αν Α=130 και Β=150, τότε το να τους αθροίσουμε έχει αποτέλεσμα 280, που δεν "χωράει" σε μεταβλητή τύπου byte.
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Archie (Νικος)

Νεοφερμένος

Ο Νικος αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Φοιτητής/τρια . Έχει γράψει 42 μηνύματα.

O Archie έγραψε: στις 20:20, 20-03-08:

#12
εστειλα κι εγω μια απαντηση με βαση τις γνωσεις λυκειου που εχω (δεν ειμαι φοιτητης ακομα σαν εσας)

τελος παντων, περιμενω απαντηση
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

frappe

Νεοφερμένος

Ο frappe αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 34 μηνύματα.

O frappe έγραψε: στις 05:36, 29-03-08:

#13
Αρχική Δημοσίευση από Michelle
Ακριβώς. Διότι αν έχουμε πχ 2 μεταβλητές τύπου byte, που χωράει μέχρι 1 byte (στη Java), το να τους αθροίσουμε και να τους βάλουμε στη μια εκ των δύο, μπορεί να οδηγήσει σε overflow και να χάσουμε δεδομένα. Πχ το byte πάει μέχρι 255. Αν Α=130 και Β=150, τότε το να τους αθροίσουμε έχει αποτέλεσμα 280, που δεν "χωράει" σε μεταβλητή τύπου byte.
Έχω την εντύπωση ότι δε χάνουμε δεδομένα εξαιτίας της υπερχείλισης.

Μάλλον εννοείς το ακόλουθο:
A = A+B
B = A-B
A = A-B

Πχ με τις αριθμητικές τιμές που δίνεις, μετά την εκτέλεση θα έχουμε
A = 130+150 = 280 => A = 24 λόγω υπερχείλισης
Β = 24-150 = -126 => Β=130 λόγω υπερχείλισης
Α = 24-130 = -106 => Α=150 λόγω υπερχείλισης

Θα προσπαθήσω να το αποδείξω χωρίς τη χρήση mod για να μην μπερδευτούμε..

Αρχικά Α=α, Β=β. Υποθέτουμε ότι α+β > 256

Α = Α+Β --> Το Α θα πάρει κανονικά την τιμή α+β αλλά λόγω υπερχείλισης γίνεται Α=α+β-256. Προς το παρόν το Β είναι ίσο με β
Β = Α-Β --> Υπολογίζω το Α-Β. Είναι ίσο με (α+β-256)-β = α-256. Αλλά λόγω υπερχείλισης το Β θα πάρει την τιμή α
Α = Α-Β --> Το Α-Β τώρα είναι ίσο με (α+β-256)-α = β-256. Λόγω υπερχείλισης το Α τελικά παίρνει την τιμή β

ΥΓ έστειλα κι εγώ μία απάντηση σε pm
edited Τελευταία επεξεργασία από το χρήστη frappe : 29-03-08 στις 12:16.
1
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Bill

Διακεκριμένο μέλος

Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 3,895 μηνύματα.

O Bill έγραψε: στις 13:42, 29-03-08:

#14
Κι όμως έχεις δίκιο.Δεν το είχα προσέξει ποτέ.
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

myle

Linux Geek

Ο myle αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 63 μηνύματα.

O myle έγραψε: στις 02:50, 23-05-08:

#15
O frappe μπορεί να έχει δίκιο σε αυτό που λέει όμως δεν είναι γενική.
Μια πιο γενική λύση είναι με την χρήση xor ή με την χρήση & και | που υποκαθιστούν τις προσθαφαιρέσεις (όμως και πάλι δεν μπορείς να το εφαρμόσεις αυτό γενικά).
Τέλος, αν εφαρμοστεί η μέθοδος προσθαφαιρέσεων τότε μπορεί λόγω των στρογγυλοποιήσεων να εξαχθεί διαφορετικό αποτέλεσμα από το αναμενόμενο.
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Franky5465 (Γιώργος)

Νεοφερμένος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος Είναι 30 ετών και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 37 μηνύματα.

O Franky5465 έγραψε: στις 01:47, 31-05-08:

#16
αν κατάλαβα καλά θέλουμε σε επίπεδο προγραμματισμού να κάνουμε swap μεταβλητών
σε python αυτό γίνεται α,β=β,α αμέσως
αν και δημιουργούνται ενδιάμεσα instances νομίζω
πάντως οι παραπάνω ιδέες είναι πράγματι πολύ ωραίες
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

myle

Linux Geek

Ο myle αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 63 μηνύματα.

O myle έγραψε: στις 02:14, 31-05-08:

#17
Από το λίγο που έχω δει η python τα σπάει.[/off topic]
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

EpaRon (Νώντας)

Δραστήριο Μέλος

Ο Νώντας αυτή τη στιγμή δεν είναι συνδεδεμένος Είναι 28 ετών , επαγγέλεται Φοιτητής/τρια και μας γράφει απο Λευκάδα (Λευκάδα). Έχει γράψει 156 μηνύματα.

O EpaRon έγραψε: στις 20:58, 15-06-08:

#18
Στη σελίδα http://projecteuler.net/ μπορείτε να βρείτε ένα σωρό μαθηματικών προβλημάτων που υλοποιούνται σε pc με κλιμακούμενη δυσκολία. Από πολύ εύκολα, μέχρι και πολύ δύσκολα.
Επίσης στο κάθε πρόβλημα μπορείτε να δείτε και πόσα άτομα κατάφεραν να το λύσουν!
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση
Απάντηση στο θέμα


Χρήστες

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα.
     
  • (View-All Tα παρακάτω 0 μέλη διάβασαν αυτό το θέμα τις τελευταίες 30 μέρες:
    Μέχρι και αυτή την στιγμή δεν έχει δει το θέμα κάποιο ορατό μέλος

Βρείτε παρόμοια