babisgr
Πολύ δραστήριο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
ptsiotakis
Εκκολαπτόμενο μέλος
θα είμαι και του χρόνου
Καληνύχτα σε όλους και να κλείσετε τον Η/Υ να διαβάσετε
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Rania.
Πολύ δραστήριο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
redalert19882000
Νεοφερμένος
Διάβασε αριθμός
! θα "κατέβω" από το αριθμός-1 προς το 2.
! Αν συναντήσω έστω και ΕΝΑΝ διαιρέτη σταματώ την επανάληψη
! ΔΕΝ πρόκειται για πρώτο αριθμό
είναι ← αληθής ! έστω οτι είναι πρώτος
i ← αριθμός - 1
Όσο i >= 2 και είναι = αληθής επανάλαβε
! όσο δεν τέλειωσα το ψάξιμο και
! δεν έχω αποφανθεί οτι δεν είναι πρώτος
Αν (αριθμός mod i = 0) τότε
είναι ← ψευδής
! βρήκα διαιρέτη,άρα ΔΕΝ είναι πρώτος
Τέλος_αν
i ← i - 1
Τέλος_επανάληψης
Αν (είναι = ψευδής) τότε
Εμφάνισε "Δεν είναι πρώτος"
Αλλιώς
Εμφάνισε "Είναι πρώτος"
Τέλος_αν
Τσέκαρέ το στο https://www.pseudoglossa.gr/
πρώτοι είναι το 1, 2, 3, 5, 7, 11, 13...
Δε θέλω λαμπάδα ούτε κάτι άλλο, μου αρκεί να γράψεις καλά...
-----------------------------------------
Αυτή είναι μια από τις ασκήσεις που μπορεί να αναδύξει την ομορφιά του μαθήματός μας....
Αν δεν κανω λαθος ο αριθμος 1 δεν θεωρειτε πρωτος... Οι πρωτοι ξεκινανε απο το 2 και μετα.
Ωστόσο, θα ήθελα να αναφέρω ότι πρέπει να αρχίσουμε τις διαιρέσεις απο αριθμό DIV 2. Για παράδειγμα αν έχουμε τον αριθμό 50, δεν χρειαζετε να τον διαιρεούμε με τους αριθμούς (49,48,47 κτλ .. 26) αφού ουσιαστικά αυτά ποτε δεν προκειτε να ισχυσουν. Αρα ο αλγόριθμος θα επρεπε να γινει καλυτερα ετσι: (Προς θεου δεν ειπα οτι ειναι λαθος):
Αλγόριθμος protoi
ΔΙΑΒΑΣΕ αριθμός
ΑΝ αριθμός = 1 ΤΟΤΕ
είναι ← ΨΕΥΔΗΣ
ΑΛΛΙΩΣ
είναι ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
i ← αριθμός DIV 2
ΟΣΟ i >= 2 ΚΑΙ είναι = ΑΛΗΘΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ (αριθμός MOD i = 0) ΤΟΤΕ
είναι ← ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
i ← i - 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ (είναι = ΨΕΥΔΗΣ) ΤΟΤΕ
Εμφάνισε "Δεν είναι πρώτος"
ΑΛΛΙΩΣ
Εμφάνισε "Είναι πρώτος"
ΤΕΛΟΣ_ΑΝ
Τέλος protoi
Thanks
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Ntzios Kostas
Νεοφερμένος
διάβασε αρ !εισαγωγή αριθμού
υπ_διαιρ<-2 !υποψήφιος διαιρέτης =2. Δεν με ενδιαφέρει το 1, γιατί ξέρω ότι είναι διαιρέτης.
πλ_διαιρ<-0 !πλήθος διαιρετών =0
!δεν θα εξετάσω τον ίδιο τον αριθμό, γιατί ξέρω ότι είναι διαιρέτης
όσο υπ_διαιρ<=αρ-1 και πλ_διαιρ=0 επανάλαβε
.....αν αρ mod υπ_διαιρ = 0 τότε
..........πλ_διαιρ<-πλ_διαιρ +1
......τέλος_αν
......υπ_διαιρ<- υπ_διαιρ +1 !πάμε στον επόμενο υποψήφιο διαιρέτη
τέλος_επανάληψης
αν πλ_διαιρ = 0 τότε
....εμφάνισε 'πρώτος'
αλλιώς
....εμφάνισε 'όχι πρώτος'
τέλος_αν
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
redalert19882000
Νεοφερμένος
Ορίστε και το σχετικό link -> https://el.wikipedia.org/wiki/Πρώτος_αριθμός
Πέρα απο τις άσκοπες διαιρέσεις που γίνονται για κάποιους αριθμούς που είπα παραπάνω ο αλγόριθμος είναι σωστός(Αν υλοποιηθεί και η εξαίρεση του 1)
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
ptsiotakis
Εκκολαπτόμενο μέλος
Συνεπώς, μια πλήρης σωστή λύση θα είναι:
Διάβασε αριθμός
Αν αριθμός > 1 τότε
...... επεξεργασία άσκησης
Αλλιώς
Εμφάνισε "Δεν υπάρχει πρώτος αριθμός μικρότερος του 2"
Τέλος_αν
Έτσι, παρακάμπτεις το πρόβλημα...
Μπράβο
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Ntzios Kostas
Νεοφερμένος
διάβασε αρ !εισαγωγή αριθμού
υπ_διαιρ<-1 !υποψήφιος διαιρέτης =1
πλ_διαιρ<-0 !πλήθος διαιρετών =0
!Αν το πλήθος των διαιρετών ξεπεράσει το 2, τότε δεν είναι πρώτος
όσο υπ_διαιρ<=αρ και πλ_διαιρ<=2 επανάλαβε
.....αν αρ mod υπ_διαιρ = 0 τότε
..........πλ_διαιρ<-πλ_διαιρ +1
......τέλος_αν
......υπ_διαιρ<- υπ_διαιρ +1 !πάμε στον επόμενο υποψήφιο διαιρέτη
τέλος_επανάληψης
αν πλ_διαιρ = 2 τότε
....εμφάνισε 'πρώτος'
αλλιώς
....εμφάνισε 'όχι πρώτος'
τέλος_αν
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
redalert19882000
Νεοφερμένος
Ειναι λίγο ταχύτερος απο όλα τα προηγούμενα
Αλγόριθμος πρώτοι
Διάβασε αρ ! Εισαγωγή αριθμού
Αν αρ >= 2 τότε
start ← αρ DIV 2 ! Θα ξεκινήσουμε τις διαιρέσεις μας απο τον αριθμό δια 2... Έτσι ο αλγόριθμος γίνεται πολύ ταχύτερος...
πλ_διαιρ ← 0 ! Αν αυτο στη συνεχεια αλλαξει σε 1 τοτε θα σταματησουμε την επαναληψη και σημαινει οτι ο αριθμος δεν ειναι πρωτος
Όσο start >= 2 και πλ_διαιρ = 0 επανάλαβε
Αν αρ mod start = 0 τότε ! Αν διαιρειτε ακριβως τοτε εχουμε διαιρετη, αρα δεν ειναι πρώτος
πλ_διαιρ ← 1 ! Αύξηση της τιμης για να σταματήσει η επανάληψη. Δεν ειναι πρωτος...
τέλος_αν
start ← start - 1 ! πάμε στον επόμενο υποψήφιο διαιρέτη
τέλος_επανάληψης
Αν πλ_διαιρ = 0 τότε
Εμφάνισε "Ειναι πρώτος"
Αλλιώς
Εμφάνισε "Δεν ειναι πρώτος"
τέλος_αν
αλλιώς
Εμφάνισε "Δεν υπάρχει πρωτος μικρότερος του 2"
τέλος_Αν
Τέλος πρώτοι
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
ptsiotakis
Εκκολαπτόμενο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
redalert19882000
Νεοφερμένος
-----------------------------------------
Βαριόμουν τρελά σήμερα(ναι ναι και να διαβάσω) οπότε έκανα μια υλοποίηση του QuickSort αλγόριθμου σε γλώσσα με διαδικασία... Ο αλγόριθμος αυτός αξίζει να σημειωθεί πως είναι ΠΟΛΛΕΣ φορές ταχύτερος απο κάθε άλλου ήδους αλγόριθμο(Bubble,Insertion etc). Στην καλύτερη περίπτωση κάνει nlogn (όπου n η ποσότητα των αριθμών που έχουμε να κάνουμε ταξινόμηση) αντιμεταθέσεις... Η bubble κάνει n^2 που σημαίνει ότι ειναι τρελά χρονοβόρα. Βέβαια αυτό δε λέει κάτι, στις πανελλήνιες μας νοιάζει να είναι σωστό το πρόβλημα και όχι γρήγορα... Αλλά πιστεύω αν κάνετε κάτι τέτοιο(αν πέσει κάποιο πρόβλημα με ταξινόμηση) και γράψετε αυτό θα ... πάθει πλάκα ο διορθωτής p
ΠΡΟΓΡΑΜΜΑ ταξινόμηση
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a[10], i
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΔΙΑΒΑΣΕ a
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΚΑΛΕΣΕ quicksort(a, 1, 10)
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ a
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ quicksort(a, m, n)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: m, n, a[10], k, temp, key, i, j
ΑΡΧΗ
ΑΝ (m < n) ΤΟΤΕ
k <- (m + n) DIV 2
temp <- a[m]
a[m] <- a[k]
a[k] <- temp
key <- a[m]
i <- m + 1
j <- n
ΟΣΟ i <= j ΕΠΑΝΑΛΑΒΕ
ΟΣΟ ((i <= n) ΚΑΙ (a <= key)) ΕΠΑΝΑΛΑΒΕ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΟΣΟ ((j >= m) ΚΑΙ (a[j] > key)) ΕΠΑΝΑΛΑΒΕ
j <- j - 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ i < j ΤΟΤΕ
temp <- a
a <- a[j]
a[j] <- temp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
temp <- a[m]
a[m] <- a[j]
a[j] <- temp
ΚΑΛΕΣΕ quicksort(a, m, j - 1)
ΚΑΛΕΣΕ quicksort(a, j + 1, n)
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
tsgiannis13
Νεοφερμένος
΄Β λυκειου . πιστευετε οτι πρεπει απο φετος να κανω φροντιστηριο ΑΕΠΠ??
ισως ειναι λιγο υπερβολικο αλλα πειτε μου και σεις που εχετε μια επαφη με το αντικειμενο .:thanks:
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
stratos_man
Εκκολαπτόμενο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Valandil
Πολύ δραστήριο μέλος
να ρωτησω κατι ειναι λαθος να γραφεις--- οσο χ<>"τελος" επαναλαβε-- μας εχει βαλει ο καθηγητης μ και λεει στην εκφώνηση μεχρι να εμφανιστει η λεξη τελος αλλα το θελει και με την οσο και μεχρι οτου αλλα στην οσο μπερδέυομαι..
Αφού θα σταματήσει αν βάλεις την λέξη "τέλος"
Θα χρησιμοποιήσεις :
Διάβασε x ! μεταβλητή χαρακτήρα,έτσι;
όσο x<>"τέλος" επανάλαβε
Ενέργειες
Τέλος_επανάληψης
και
Διάβασε x
Αρχή_επανάληψης
Ενέργειες
Μέχρις_ότου x="τέλος"
-----------------------------------------
παιδια συγνωμη που διακοπτω τη ροη του θεματος αλλα εχω να κανω μια ερωτηση που με βασανιζει απο την αρχη της χρονιας. καταρχην ειμαι
΄Β λυκειου . πιστευετε οτι πρεπει απο φετος να κανω φροντιστηριο ΑΕΠΠ??
ισως ειναι λιγο υπερβολικο αλλα πειτε μου και σεις που εχετε μια επαφη με το αντικειμενο .:thanks:
Οχι,είναι υπερβολή.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
ptsiotakis
Εκκολαπτόμενο μέλος
Διάβασε x ! μεταβλητή χαρακτήρα,έτσι;
όσο x<>"τέλος" επανάλαβε
Ενέργειες
Διάβασε x ! για επόμενη επανάληψη
Τέλος_επανάληψης
και
Αρχή_επανάληψης
Διάβασε x ! το έβαλα εντός του βρόχου
Ενέργειες
Μέχρις_ότου x="τέλος"
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
teacher
Νεοφερμένος
παιδια συγνωμη που διακοπτω τη ροη του θεματος αλλα εχω να κανω μια ερωτηση που με βασανιζει απο την αρχη της χρονιας. καταρχην ειμαι
΄Β λυκειου . πιστευετε οτι πρεπει απο φετος να κανω φροντιστηριο ΑΕΠΠ??
ισως ειναι λιγο υπερβολικο αλλα πειτε μου και σεις που εχετε μια επαφη με το αντικειμενο .:thanks:
αν ξεκινήσεις φέτος κάποια μαθήματα (χοντρικά 1ω/εβδομάδα) και θα αφομοιώσεις πολύ καλύτερα το περιεχόμενο του μαθήματος, και θα έχεις λιγότερο φόρτο για την Γ που έτσι κι αλλιώς τρέχεις και δεν φτάνεις.
εγώ στο συνιστώ ανεπιφύλακτα, αλλά να γίνει με ανθρώπους που κάνουν δουλειά, όχι χαλαρά και χαβαλέ επειδή υπάρχει χρόνος ...
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
marsenis
Νεοφερμένος
Να ποστάρω και γω την δικιά μου λύση που αποτελεί μια μικρή τροποποίηση του αλγόριθμου του κ.Κώστα
Ειναι λίγο ταχύτερος απο όλα τα προηγούμενα
Ο Αλγόριθμος μπορεί να γίνει ακόμα πιο γρήγορος αν ψάξουμε για διαιρέτες στο διάστημα απο το 2 μέχρι την τετραγωνική ρίζα του αριθμού καθώς αποδεικνύεται ότι αν ένας αριθμός έχει κάποιο διαιρέτη (εκτός απο τον εαυτό του και τη μονάδα) τότε ο διαιρέτης αυτός θα είναι σίγουρα μικρότερος η ίσος της τετραγωνικής του ρίζας (ή του ακεραίου μέρους της τετραγωνικής του ρίζας αν ο αριθμός δεν είναι τέλειο τετράγωνο).
Φιλικά,
Μάκης.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Valandil
Πολύ δραστήριο μέλος
Συμπληρώνω μια μικρή λεπτομέρεια:
Διάβασε x ! μεταβλητή χαρακτήρα,έτσι;
όσο x<>"τέλος" επανάλαβε
Ενέργειες
Διάβασε x ! για επόμενη επανάληψη
Τέλος_επανάληψης
και
Αρχή_επανάληψης
Διάβασε x ! το έβαλα εντός του βρόχου
Ενέργειες
Μέχρις_ότου x="τέλος"
Απροσεξία της στιγμής,εννοείται το διάβασε μέσα στην επανάληψη
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
πηνελοπη41056
Νεοφερμένος
Να γραψετε αλγοριθμο ο οποιος θα διαβαζει θετικους ακεραιους αριθμους (δεν απαιτειται ελεγχος) και θα υπολογιζει και θα εμφανιζει:
α)το πληθος των τριψηφιων αριθμων
β)το πληθος των μη τριψηφιων αριθμων
γ)το αθροισμα,το μεσο ορο και το ποσοστο των τριψηφιων
δ)και το μεγαλυτερο απο ολους τους αριθμους
η διαδικασια 8α τερματιζει οταν ως αριθμος δοθει το -1
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
gimli
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:Tα παρακάτω 6 μέλη διάβασαν αυτό το θέμα:
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.