Τώρα είναι Πέμ 28 Μαρ 2024 09:21 pm

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Ξέχασα το PIN μου !
ΔημοσίευσηΔημοσιεύτηκε: Τρί 25 Μάιος 2004 10:57 am 
Χωρίς σύνδεση

Εγγραφή: Πέμ 22 Απρ 2004 11:16 am
Δημοσιεύσεις: 60
Τοποθεσία: Θεσσαλονίκη
Syntax: [ Download ] [ Hide ]

! ================================================================================================
! Ένας καταθέτης έχει για κωδικό πρόσβασης (PIN) στη μαγνητική του κάρτα αναλήψεως
! έναν τετραψήφιο αριθμό xyzq, όπου γνωρίζουμε ότι το x είναι άρτιος αριθμός, το z περιττός
! και το q πολλαπλάσιο του 4.Γνωρίζουμε επίσης ότι όλα τα ψηφία που έχει επιλέξει είναι <> 0.
! Γνωρίζουμε επίσης ότι αν κωδικός του πενταπλασιαστεί και διαιρεθεί με το 3, έχει πάντα υπόλοιπο 1.
! Για παράδειγμα οι επόμενοι αριθμοί αποτελούν πιθανούς κωδικούς: 4394, 6434, 8558
! Να γίνει αλγόριθμος που να μας εμφανίζει όλους τους πιθανούς κωδικούς, όπως και το πλήθος τους.
! ================================================================================================

ΠΡΟΓΡΑΜΜΑ Κωδικοί_1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x,y,z,q,πλήθος
ΑΡΧΗ
  πλήθος <-- 0
  ΓΙΑ x ΑΠΟ 1 ΜΕΧΡΙ 9        ! ο αλγόριθμος αυτός εκτελεί 9^4 επαναλήψεις
    ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 9      ! δηλαδή 6561 επαναλήψεις
      ΓΙΑ z ΑΠΟ 1 ΜΕΧΡΙ 9
        ΓΙΑ q ΑΠΟ 1 ΜΕΧΡΙ 9
          ΑΝ (x MOD 2=0) ΚΑΙ (z MOD 2 <>0) ΚΑΙ (q MOD 4=0) ΤΟΤΕ
            ΑΝ  (5*(x*1000+y*100+z*10+q)) MOD 3=1 ΤΟΤΕ
              πλήθος <-- πλήθος+1
              ΓΡΑΨΕ x,y,z,q
            ΤΕΛΟΣ_ΑΝ
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'To πλήθος των πιθανών κωδικών είναι:', πλήθος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 


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

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ Κωδικοί_2
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x,y,z,q,πλήθος
ΑΡΧΗ
  πλήθος <-- 0
  ΓΙΑ x ΑΠΟ 2 ΜΕΧΡΙ 8 ΜΕ ΒΗΜΑ 2     ! ο αλγόριθμος αυτός εκτελεί 4*9*5*2  επαναλήψεις
    ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 9             ! δηλαδή 360 επαναλήψεις
      ΓΙΑ z ΑΠΟ 1 ΜΕΧΡΙ 9 ΜΕ ΒΗΜΑ 2
        ΓΙΑ q ΑΠΟ 4 ΜΕΧΡΙ 8 ΜΕ ΒΗΜΑ 4
          ΑΝ  (5*(x*1000+y*100+z*10+q)) MOD 3=1 ΤΟΤΕ
            πλήθος <-- πλήθος+1
            ΓΡΑΨΕ x,y,z,q
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'To πλήθος των πιθανών κωδικών είναι:', πλήθος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
Προβολές: