Vkt678 Δημοσ. 3 Νοεμβρίου 2014 Δημοσ. 3 Νοεμβρίου 2014 Καλησπέρα.Έχω το εξής πρόβλημα...Πρόκειται για μια άσκηση στην οποία πρέπει να βρω το πλήθος των πρώτων αριθμών σε ένα διάστημα MINNUM,MAXNUM όπου MINNUM=1990000001 και MAXNUM=2000000000. Έχω υλοποιήσει τον κώδικα,παρ'όλα αυτα δεν φαίνεται να λειτουργεί σωστά...Καμία ιδέα??
antbyron Δημοσ. 3 Νοεμβρίου 2014 Δημοσ. 3 Νοεμβρίου 2014 Την ίδια άσκηση είχε και ένα παιδί τώρα τελευταία. Ψάξε λίγο πιο πίσω να βρεις το νήμα και να πάρεις πληροφορίες. Επειδή οι αριθμοί που ψάχνεις είναι αρκετοί, δοκίμασε με μικρότερο εύρος να δεις πως πάει.
Vkt678 Δημοσ. 3 Νοεμβρίου 2014 Μέλος Δημοσ. 3 Νοεμβρίου 2014 Ναι το είδα..Μάλλον θα είναι στο ίδιο τμήμα με εμένα(Πληροφορική και Τηλεπικοινωνίες)..Έχουμε μια εργασία και ένα κομμάτι είναι αυτή η άσκηση. Πάντως με μικρότερο εύρος βγαίνει μια χαρά το αποτέλεσμα,το θέμα είναι γιατί δεν εμφανίζει τίποτα στην έξοδο στην συγκεκριμένη περίπτωση
antbyron Δημοσ. 3 Νοεμβρίου 2014 Δημοσ. 3 Νοεμβρίου 2014 Γιατί καθυστερεί να κάνει τους υπολογισμούς μήπως;
Moderators Kercyn Δημοσ. 3 Νοεμβρίου 2014 Moderators Δημοσ. 3 Νοεμβρίου 2014 Γιατί τα for θέλουν 10 χρόνια για να τελειώσουν.
Vkt678 Δημοσ. 3 Νοεμβρίου 2014 Μέλος Δημοσ. 3 Νοεμβρίου 2014 Υπάρχει άλλος τρόπος για να είναι πιο γρήγορο και αποτελεσματικό?Γιατί ο καθηγητής μας έδειξε ένα παράδειγμα για το πως θα πρέπει να εμφανίζεται και χρησιμοποιώντας την συνάρτηση clock() εμφάνιζε αποτέλεσμα σε 90 sec
imitheos Δημοσ. 3 Νοεμβρίου 2014 Δημοσ. 3 Νοεμβρίου 2014 Υπάρχει άλλος τρόπος για να είναι πιο γρήγορο και αποτελεσματικό?Γιατί ο καθηγητής μας έδειξε ένα παράδειγμα για το πως θα πρέπει να εμφανίζεται και χρησιμοποιώντας την συνάρτηση clock() εμφάνιζε αποτέλεσμα σε 90 sec Διάβασες τα μηνύματα του albNik στο άλλο νήμα ? Έκανες κάποιο ψάξιμο για "αλγόριθμος εύρεσης πρώτων αριθμών" ή κάτι παρόμοιο ?
Vkt678 Δημοσ. 3 Νοεμβρίου 2014 Μέλος Δημοσ. 3 Νοεμβρίου 2014 @imitheos Ναι τα διάβασα αλλά δεν έχω καταλάβει τον τρόπο με τον οποίο θα υλοποιήσω αλγόριθμο για να βγάλω κάποιο αποτέλεσμα.. Θα βρεις πρωτα τους πρώτους 1μεχρι sqrt(2000000000) δλδ {2,3,5... μεχρι 45000 περίπου}. Εχεις 10 000 000 αριθμους για ελεγχο Ξεκινας με το 2 και "μαρκαρεις" ως συνθετο τον πρωτο Ν που διαρειται με 2 , και τους επομενους Ν+2, Ν+4 ... μετα με το 3 και μαρκαρεις ως συνθετο τον πρωτο Ν που διαρειται με 3 και Ν+3, Ν+6 ... μετά με το 5 και μαρκαρεις ως συνθετο τον πρωτο Ν που διαρειται με 5 και Ν+5, Ν+10 ... ..... Επίσης πως θα ενσωματώσω στον αλγόριθμο την έκφραση "μαρκάρεις"?έχω ψάξει αρκετά αλλά δεν με βοηθάνε πολύ αυτά που βρίσκω γι'αυτό κάνω τις ερωτήσεις εδώ μήπως καταφέρω να λύσω το πρόβλημα.
defacer Δημοσ. 4 Νοεμβρίου 2014 Δημοσ. 4 Νοεμβρίου 2014 Καταλαβαίνεις με ποιά λογική αυτό που έχεις στα χέρια σου αποφαίνεται αν ένας αριθμός είναι πρώτος ή όχι? (άσχετα που αργεί τόσο πολύ με τα συγκεκριμένα νούμερα) Αν καταλαβαίνεις τότε θα καταλαβαίνεις και γιατί δεν έχει νόημα να μαρκάρεις τίποτα (εξάλλου δε σου ζητάνε να βρεις ποιοί είναι οι πρώτοι, μόνο πόσοι είναι). Αν δεν καταλαβαίνεις τότε πριν αρχίσεις να ψάχνεις κι άλλα πράγματα που δεν καταλαβαίνεις, κατάλαβε πρώτα αυτά που έχεις στα χέρια σου.
albNik Δημοσ. 4 Νοεμβρίου 2014 Δημοσ. 4 Νοεμβρίου 2014 γιατί δεν ξεκινάς με έναν πιο απλό τρόπο; πότε θεωρείται ένας αριθμός πρώτος; (αριθμός % 2 != 0) δλδ το 9 είναι πρώτος;
Vkt678 Δημοσ. 4 Νοεμβρίου 2014 Μέλος Δημοσ. 4 Νοεμβρίου 2014 Αυτό ακριβώς αναρωτιέμαι και εγώ Ρε φίλε μπορείς να μου εξηγήσεις πως θα υλοποιήσω τον αλγόριθμο με αυτό που έχεις αναφέρει και στο άλλο νήμα?
albNik Δημοσ. 4 Νοεμβρίου 2014 Δημοσ. 4 Νοεμβρίου 2014 Στο αλλο νημα λέω ότι οι μισοί ειναι ζυγοί, το 1/3 διαιρούνται με 3, το 1/5 με 5 το 1/7 με 7 ... Ε, όσοι μεινουν ειναι πρώτοι
Vkt678 Δημοσ. 4 Νοεμβρίου 2014 Μέλος Δημοσ. 4 Νοεμβρίου 2014 Το θέμα είναι ότι δεν μπορώ να χρησιμοποιήσω πίνακες για να το κάνω αυτό...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα