Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 66,096 εγγεγραμμένα μέλη και 2,388,093 μηνύματα σε 74,654 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα

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

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

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

ALEX_

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

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

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

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

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

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

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

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

Περιμένω τις απαντήσεις σας!

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Γιώργος

Επιφανές Μέλος

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

O Γιώργος Je veux aller au bout de mes fantasmes έγραψε στις 21:09, 19-02-07:

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

ALEX_

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

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Subject to change (Λία)

Founder

Το avatar του χρήστη Subject to change
H Λία αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Web developer . Έχει γράψει 9,471 μηνύματα.

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

#4
Έστειλα κι εγώ.
Άντε κάντε μια βόλτα και απο τη ΘΑ

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

ALEX_

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

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

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

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

Υ.Γ.:Έβαλες κι άλλο?Πάω να δω!

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

ALEX_

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

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

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

#6
Σωστό tralala!

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

ALEX_

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

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

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

#7
Ναι....

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

io-io

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

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

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

#8



Λυσε τη θεωρια αριθμων της Μισελ τωρα!

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

ALEX_

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

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

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

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



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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Bill

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

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

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

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

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

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

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Subject to change (Λία)

Founder

Το avatar του χρήστη Subject to change
H Λία αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Web developer . Έχει γράψει 9,471 μηνύματα.

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Archie (Νικος)

Νεοφερμένος

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

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

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

τελος παντων, περιμενω απαντηση

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

frappe

Νεοφερμένος

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

O frappe έγραψε στις 04: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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

edited Τελευταία επεξεργασία από το χρήστη frappe : 29-03-08 στις 11:16.
1 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Bill

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

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

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

#14
Κι όμως έχεις δίκιο.Δεν το είχα προσέξει ποτέ.

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

myle

Linux Geek

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Franky5465 (Γιώργος)

Νεοφερμένος

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

myle

Linux Geek

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

EpaRon (Νώντας)

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

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

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

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

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση
Απάντηση στο θέμα

Χρήστες

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

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

Μοιραστείτε το

...με ένα φίλο

...με πολλούς φίλους