Τώρα είναι Πέμ 26 Δεκ 2024 08:08 pm

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




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Kόσκινο του Ερατοσθένη
ΔημοσίευσηΔημοσιεύτηκε: Παρ 23 Φεβ 2007 02:53 am 
Χωρίς σύνδεση

Εγγραφή: Τετ 15 Δεκ 2004 04:26 am
Δημοσιεύσεις: 10
Τοποθεσία: Πρέβεζα
Syntax: [ Download ] [ Hide ]
!--------------------------------------------------------------------
! Να υπολογισθούν οι πρώτοι αριθμοί μέχρι το ... 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
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  γράψε
  γράψε 'Βρέθηκαν ',πλήθος,' πρώτοι αριθμοι μέχρι το '
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 

_________________
Βερύκιος Νίκος


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
 Θέμα δημοσίευσης: Re: Kόσκινο του Ερατοσθένη
ΔημοσίευσηΔημοσιεύτηκε: Κυρ 06 Φεβ 2011 09:15 pm 
Χωρίς σύνδεση

Εγγραφή: Κυρ 03 Οκτ 2010 06:10 pm
Δημοσιεύσεις: 5
ΕΥΡΕΣΗ ΠΡΩΤΩΝ ΑΡΙΘΜΩΝ
ΕΝΑΣ ΔΙΑΦΟΡΕΤΙΚΟΣ ΤΡΟΠΟΣ :D


Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ ΑΣ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ι, Α, ΜΕΤΡΗΤΗΣ, count
ΑΡΧΗ
  ΓΡΑΨΕ 2
  ΓΡΑΨΕ 5
  count <-- 2
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 9223372036854775807 ΜΕ ΒΗΜΑ 2
    ΜΕΤΡΗΤΗΣ <-- 0
    Α <-- 0

    ΑΝ Ι MOD 10 <> 5 ΚΑΙ ΜΕΤΡΗΤΗΣ <= 2 ΤΟΤΕ

!      ΟΣΟ Α <= Ι ΕΠΑΝΑΛΑΒΕ
!        Α <-- Α + 1
!        ΑΝ Ι MOD Α = 0 ΤΟΤΕ
!          ΜΕΤΡΗΤΗΣ <-- ΜΕΤΡΗΤΗΣ + 1
!        ΤΕΛΟΣ_ΑΝ
!      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     
!Η ΔΟΜΗ ΟΣΟ-ΕΠΑΝΑΛΑΒΕ ΜΠΟΡΕΙ ΝΑ ΓΡΑΦΕΙ ΟΠΩΣ ΠΑΡΑΚΑΤΩ....ΜΟΝΟ ΠΟΥ ΔΕΝ ΥΠΑΡΧΕΙ Ο ΕΛΕΓΧΟΣ 'ΜΕΤΡΗΤΗΣ <= 2'

      ΓΙΑ Α ΑΠΟ 1 ΜΕΧΡΙ Ι
        ΑΝ Ι MOD Α = 0 ΤΟΤΕ
          ΜΕΤΡΗΤΗΣ <-- ΜΕΤΡΗΤΗΣ + 1
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

      ΑΝ ΜΕΤΡΗΤΗΣ = 2 ΤΟΤΕ
        count <-- count + 1
        ΓΡΑΨΕ Ι, '    #', count
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


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

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


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

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


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

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