zenctheo
Νεοφερμένος
Ο zenctheo αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Καθηγητής. Έχει γράψει 20 μηνύματα.
03-05-09
01:30
Ωραίο πρόβλημα άσχετα με το πόσο μακάβριο ή όχι είναι
Με παίδεψε από χθες που το διάβασα. Ήθελα να φτιάξω ένα πρόγραμμα που να μην χρησιμοποιεί πίνακες ώστε να μην έχω πρόβλημα στο μέγιστο πλήθος των ατόμων.
Το παραθέτω.
Φυσικά αυτό είναι μια πρώτη-πρώτη προσέγγιση και σίγουρα βελτιώνεται.
Με παίδεψε από χθες που το διάβασα. Ήθελα να φτιάξω ένα πρόγραμμα που να μην χρησιμοποιεί πίνακες ώστε να μην έχω πρόβλημα στο μέγιστο πλήθος των ατόμων.
Το παραθέτω.
Code:
ΠΡΟΓΡΑΜΜΑ JOSEPHUS
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Ν, ΝΕΚΡΟΙ, Β, Π, Ι, ΠΡΩΤΟΣ, ΑΡΧ, ΤΕΛΟΣ, ΤΕΣΤ
ΛΟΓΙΚΕΣ: ΛΑΣΤ
ΑΡΧΗ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΤΟ ΠΛΗΘΟΣ ΤΩΝ ΑΙΧΜΑΛΩΤΩΝ'
ΔΙΑΒΑΣΕ Ν
ΝΕΚΡΟΙ <- 0
Β <- 2
Π <- 1 !ΠΕΡΑΣΜΑ
ΓΡΑΨΕ Π, ' ΠΕΡΑΣΜΑ.θΑ ΠΕΘΑΝΟΥΝ ΟΙ'
ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ Ν ΜΕ ΒΗΜΑ Β
ΓΡΑΨΕ Ι
ΝΕΚΡΟΙ <- ΝΕΚΡΟΙ + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π <- Π + 1
ΑΝ Ν MOD 2 = 0 ΤΟΤΕ
ΛΑΣΤ <- ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
ΛΑΣΤ <- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΠΡΩΤΟΣ <- 1
ΤΕΛΟΣ <- Ν
ΟΣΟ ΝΕΚΡΟΙ < Ν - 1 ΕΠΑΝΑΛΑΒΕ
ΑΝ ΛΑΣΤ = ΑΛΗΘΗΣ ΤΟΤΕ
ΑΡΧ <- ΠΡΩΤΟΣ + Β
ΤΕΛΟΣ <- ΤΕΛΟΣ - (Β DIV 2)
ΑΛΛΙΩΣ
ΑΡΧ <- ΠΡΩΤΟΣ
ΠΡΩΤΟΣ <- ΠΡΩΤΟΣ + Β
ΤΕΛΟΣ_ΑΝ
Β <- Β*2
ΓΡΑΨΕ Π, ' ΠΕΡΑΣΜΑ.θΑ ΠΕΘΑΝΟΥΝ ΟΙ'
ΓΙΑ Ι ΑΠΟ ΑΡΧ ΜΕΧΡΙ ΤΕΛΟΣ ΜΕ ΒΗΜΑ Β
ΓΡΑΨΕ Ι
ΝΕΚΡΟΙ <- ΝΕΚΡΟΙ + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π <- Π + 1
ΤΕΣΤ <- Ι - Β
ΑΝ ΤΕΣΤ = ΤΕΛΟΣ ΤΟΤΕ
ΛΑΣΤ <- ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
ΛΑΣΤ <- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΠΑΡΑΜΕΝΕΙ Ο ', ΠΡΩΤΟΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.