Πολλαπλασιασμός αλά ρωσικά ??

Ξεκίνησε από ptsiotakis, 19 Μαΐου 2006, 11:28:28 ΠΜ

« προηγούμενο - επόμενο »

P.Tsiotakis

Ναι, είναι το ίδιο

όπως και αυτό που χρησιμοποιεί το σχολικό

Μ2 <-- [Μ2/2], που εξηγεί οτι οι αγκύλες εκφράζουν το ακέραιο μέρος

Απλά στο σχολικό βιβλίο, οι τελεστές div, mod παρουσιάζονται στο κεφάλαιο 7 και όχι στο 2!
Θεωρεί βέβαια το βιβλίο καθηγητή (όχι βάσιμα πάντα), πως η ύλη διδάσκεται σπειροειδώς...

nikolasmer

Παράθεση από: Παναγιώτης Τσιωτάκης στις 19 Μαΐου 2006, 11:28:28 ΠΜ
Ο ανηψούλης μου από την Τενεούπολη με ρώτησε αν ο παρακάτω αλγόριθμος (για τον πολ/σμό αλά ρωσικά) είναι σωστός (δεν τον σκέφτηκε μόνος του):

   Δεδομένα // Μ1, Μ2 //
   P ← 0
   Για Ε από Μ2 μέχρι 0 με_βήμα Κ
      Αν Ε mod 2 = 1 τότε
           P ← P + M1
      Τέλος_αν
      M1 ← M1*2
      K ← M2 div 2
   Τέλος_επανάληψης
   Αποτελέσματα // P //

Ο γιατρός μου είπε οτι ήμουν πολύ τυχερός που τη γλύτωσα και πως πρέπει να προσέχω πολύ στο εξής. Σε επόμενη παρόμοια...συγκίνηση μπορεί να μην είμαι τόσο τυχερός. Δεν είναι και πολύ συνηθισμένες τέτοιες κρίσεις στα 29...

Με εκτίμηση,
Το Ε είναι δεσμευμένο :P :P :P
Μερεντίτης Νικόλαος
Πληροφορικός

Κωστας τζιαννης

Παράθεση από: xazlag στις 13 Ιαν 2008, 10:54:50 ΠΜ
Καλήμερα!
Στον πολ/σμο αλα ρώσικα, για τον 2ο αριθμό που διαιρείται με το 2, οι εντολές  Μ2<--Α_Μ(Μ2/2) και
Μ2<--Μ2div 2 είναι ισοδύναμες;
Ευχαριστώ

αν ενας αριθμος ειναι ακεραιος εστω χ αυτος ο αριθμος τοτε ισχυει x div2=Α_Μ(χ/2).αν δεν ειναι ακεραιος τοτε
η ισοτητα δεν ισχυει καθως το div χρησιμοποιειται μονο για ακεραιους.πχ 5/2=2.5 αρα A_Μ(2.5)=2 και 5div2=2

Καρκαμάνης Γεώργιος

Να μη ξεχνάμε ότι αναφερόμαστε σε αλγόριθμο που το τρόπος γραφής δεν είναι τόσο αυστηρός. Προφανώς αν υλοποιηθεί σε ΓΛΩΣΣΑ θα υπάρχουν κάποιοι περιορισμοί ως προς τον τύπο των μεταβλητών που θα εφαρμόζεται ο πολλαπλασιασμός αλα ρωσικά ή ορισμένες δυσκολίες θα αντιμετωπιστούν με άλλον τρόπο (όπως αναφέρθηκε με το ΑΜ).

petrosp13

Μα ο πολλαπλασιασμός αλά ρωσικά αναφέρεται μόνο σε ακεραίους, άρα είναι δεκτό και το Α_Μ σαν υλοποίηση σε ΓΛΩΣΣΑ
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Σάκης Δημόπουλος


Κωστας τζιαννης

#21

προγραμμα σε Γλωσσα πολλαπλασιασμου αλλα ρωσικα χωρις συντελεστη * και χωρις Αν


ΠΡΟΓΡΑΜΜΑ πολσμος_αλα_ρωσικα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β
  ΠΡΑΓΜΑΤΙΚΕΣ: αθρ
ΑΡΧΗ

  αθρ <- 0
  ΔΙΑΒΑΣΕ α, β
  ΟΣΟ α >= 1 και β<>0 ΕΠΑΝΑΛΑΒΕ  !0^0 δεν οριζεται και υπαρχει πιθανοτητα αν δεν βαλω τη δευτερη συνθηκη να προκυψει αυτο μεσα στην επαναληψη

    αθρ <- αθρ + β^(α mod 2) - (1 - α mod 2)
    α <- α div 2
    β <- β + β
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ Α_Μ(αθρ)         !για να φαινεται χωρις τα μηδενικα δεκαδικα,ως ακεραιος


ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


2η ΕΚΔΟΧΗ  που λαμβανει υποψιν και αρνητικους αριθμους με τους ιδιους περιορισμους που εχω παραπανω(χωρις *,ΑΝ):


ΠΡΟΓΡΑΜΜΑ πολσμος_αλα_ρωσικα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β
  ΠΡΑΓΜΑΤΙΚΕΣ: αθρ, χ
ΑΡΧΗ

  αθρ <- 0
  ΔΙΑΒΑΣΕ α, β
  χ <- Α_Τ(α) + Α_Τ(β)
  χ <- Α_Τ(α + β) - χ + 1
             !αν α*β>=0 το χ ειναι 1 αλλιως ειναι αρνητικο(αποδεικνυεται ευκολα)
  α <- Α_Τ(α)
  β <- Α_Τ(β)
  ΟΣΟ α >= 1 ΚΑΙ β <> 0 ΕΠΑΝΑΛΑΒΕ!0^0 δεν οριζεται και υπαρχει πιθανοτητα αν δεν βαλω τη δευτερη συνθηκη να προκυψει αυτο μεσα στην επαναληψη

    αθρ <- αθρ + β^(α mod 2) - (1 - α mod 2)
    α <- α div 2
    β <- β + β
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
       !το div χρησιμοποειται με ακεραιους για αυτο χρησιμοποιω τη συναρτηση Α_Μ
  ΓΡΑΨΕ (Α_Μ(αθρ)) div (Α_Μ(χ) div Α_Μ(Α_Τ(χ)))


ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ