!--------------------------------------------------------------------
! Να υπολογισθούν οι πρώτοι αριθμοί μέχρι το ... 200
! με το κοσκινο του Ερατοσθένη.
!-------------------------------------------------------------
! Ο Ερατοσθένης για να υπολογίσει πρώτους αριθμούς
! ακολούθησε την παρακάτω μέθοδο.
! Έγραψε όλους τους αριθμούς από το 1
! (ή και το 2 καλύτερα) μέχρι π.χ. το 100.
! Στη συνέχεια μηδένιζε όλα τα πολ/σια του 2.
! Eπειτα όλα τα πολ/σια του 3 και στη συνέχεια
! όλα τα πόλ/σια του επομένου μη μηδενικού αριθμού
! που έβρισκε παρακάτω. Tελικά έμεναν οι αριθμοί που
! δεν ήταν πολ/σια κάποιου αριθμού.
!--------------------------------------------------------------------
! netnick
!----------------------
ΠΡΟΓΡΑΜΜΑ κόσκινο_ερατοσθένη
ΣΤΑΘΕΡΕΣ
ν = 200
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: π[ν],ι,ρίζα,ριζα_ν, φορες,κ, πλήθος
ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ ν
π[ι] <-- ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ι <-- 2
χ <-- Τ_Ρ(ν)
ρίζα_ν <-- Α_Μ(χ) ! αρκεί να σταματήσουμε στη ρίζα του Ν
! γιατί εάν ο κ διαιρεί το Ν τότε και ο Ν/κ διαιρεί το Ν.
ΟΣΟ ι<=ρίζα_ν ΕΠΑΝΑΛΑΒΕ
ΑΝ π[ι] <> 0 ΤΟΤΕ ! Μηδένισε τα πολ/σια όσων δεν είναι πρώτοι αριθμοι (μέχρι τώρα).
φορες <-- ν DIV ι
ΓΙΑ κ ΑΠΟ 2 ΜΕΧΡΙ φορες
π[κ*ι] <-- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ι <-- ι+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Αποτελέσματα
γράψε'Κοσκινο του Ερατοσθένη : '
πλήθος <-- 0
κ <-- 0
! Εμφάνισε τα αποτελέσματα σε γραμμές με 10 αριθμούς σε κάθε γραμμή.
ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ ν
ΑΝ π[ι] <> 0 ΤΟΤΕ
πλήθος <-- πλήθος + 1
γράψε_ ι
κ <-- κ+1
ΑΝ κ = 10 ΤΟΤΕ ! εμφάνισε 10 πρώτους σε κάθε γραμμή
γράψε
κ <-- 0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
γράψε
γράψε 'Βρέθηκαν ',πλήθος,' πρώτοι αριθμοι μέχρι το ',ν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ