kostasdi Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Έχω γράψει αυτό το πρόγραμμα στην C που βρίσκει τους ελαχιστικούς πρώτους(minimal primes) και ενώ τα έχω κάνει όλα καλά βρίσκω τους πρώτους αριθμούς ,μετά τα ψηφία κάθε πρώτου και τις υπακολουθίες τους δεν μπορώ να ελέγξω αν οι υπακολουθίες είναι πρώτοι(λογικά κάτι λάθος θα έχω στον κώδικα)Καμία ιδέα;;; #include <stdio.h> #define MAXNUMB 100 int main () { int i,j,x,mask,max=1,mult,sub,c; for (i = 11 ; i < MAXNUMB; i += 2 ) { for (j = 3; j * j <= i; j += 2) { if (i % j == 0) { break; } } if (j * j > i) { int length = 0; int tmp=i; while (tmp != 0) { tmp /= 10; length++; } for (x=1;x<length*2;x++) { mask=x; mult=1; sub=0; int num=i; while ( num != 0 ) { if ( mask % 2 == 1 ) { sub += num % 10 * mult; mult *= 10; } num /= 10; mask /= 2; } for (c=2;c*c<=sub;c++){ if (c*c>sub) { break; } if(sub%c==0) printf("%d \n",i); } } } } return 0; }
albNik Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Δεν μας είπες τι εννοεί ο καθηγητης σου οταν λεει "ελαχιστικούς πρώτους" και "υπακολουθίες" τους. Αν καταλαβες δώσε ενα παράδειγμα. Οκ. Eιναι στο wikipedia
kaliakman Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Ο κώδικας σου printάρει οποινδήποτε αριθμό έχει έστω και μια υπακολουθία που δεν είναι πρώτη.
kostasdi Δημοσ. 24 Νοεμβρίου 2015 Μέλος Δημοσ. 24 Νοεμβρίου 2015 Ο κώδικας σου printάρει οποινδήποτε αριθμό έχει έστω και μια υπακολουθία που δεν είναι πρώτη. Ναι αλλά το πρόβλημα είναι ότι αφου βρίσκω τις υπακολουθίες και μετα όταν ψάχνω να βρω ποιες υπακολουθίες είναι πρώτοι η όχι..όταν θα τσεκάρω πχ το 11 θα μου το εκτυπώσει 2 φορές και όχι 1.Δηδάδη αφού 1,1 δε είναι πρώτοι εκτυπώνει δυο φορές το 11
kaliakman Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Ε μήπως να το κάνεις να μην εκτυπώνει δυο φορές το νούμερο??? Δηλαδή με τον τρόπο σου το 99999999(Έστω οτί ήταν πρώτος) θα το εμφάνιζε 9 φορές... Με ποιον τρόπο θα μπορούσες να το αποφύγεις?
kostasdi Δημοσ. 24 Νοεμβρίου 2015 Μέλος Δημοσ. 24 Νοεμβρίου 2015 Ε μήπως να το κάνεις να μην εκτυπώνει δυο φορές το νούμερο??? Δηλαδή με τον τρόπο σου το 99999999(Έστω οτί ήταν πρώτος) θα το εμφάνιζε 9 φορές... Με ποιον τρόπο θα μπορούσες να το αποφύγεις? Σκέφτηκα να βρω κάτι που να αποθηκεύει τις υπακολουθίες ενος αριθμού ξεχωριστά και να ψάχνει μέχρι να βρει πρώτο.Αν δεν βρει να εκτυπώνει τον αριθμό,αν βρει να πηγαίνει στο επόμενο "i".Aλλά υπάρχουν δυο προβλήματα σε αυτό 1)δεν μπορούμε να χρησιμοποιήσουμε πίνακες ώστε να αποθηκεύσω τις υπακολουθίες και 2)αν θέλω ελέγξω τις υπακολουθίες στο 11 θα μου βγάλει 1,1,11 αλλά το 11 ειναι πρώτος και ουσιαστικά δεν θα το εκτυπώσει Σκέφτηκα να βρω κάτι που να αποθηκεύει τις υπακολουθίες ενος αριθμού ξεχωριστά και να ψάχνει μέχρι να βρει πρώτο.Αν δεν βρει να εκτυπώνει τον αριθμό,αν βρει να πηγαίνει στο επόμενο "i".Aλλά υπάρχουν δυο προβλήματα σε αυτό 1)δεν μπορούμε να χρησιμοποιήσουμε πίνακες ώστε να αποθηκεύσω τις υπακολουθίες και 2)αν θέλω ελέγξω τις υπακολουθίες στο 11 θα μου βγάλει 1,1,11 αλλά το 11 ειναι πρώτος και ουσιαστικά δεν θα το εκτυπώσει και μέτα αυτό πρέπει να τρέξει και μέσα σε 30 sec για 100000000 αριθμούς...χαχαχαα ποτέεεε
kaliakman Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Γιατί να τις αποθηκεύεις κάπου τις υπακολουθίες?Εφόσον τις βρίσκεις δεν μπορείς να έχεις μια μεταβλητή που τσεκάρει αν σου αρέσει ή όχι η υπακολουθία..?
kostasdi Δημοσ. 25 Νοεμβρίου 2015 Μέλος Δημοσ. 25 Νοεμβρίου 2015 Γιατί να τις αποθηκεύεις κάπου τις υπακολουθίες?Εφόσον τις βρίσκεις δεν μπορείς να έχεις μια μεταβλητή που τσεκάρει αν σου αρέσει ή όχι η υπακολουθία..? Δηλαδή σαν έναν counter;
kostasdi Δημοσ. 25 Νοεμβρίου 2015 Μέλος Δημοσ. 25 Νοεμβρίου 2015 Δηλαδή σαν έναν counter; Το να τσεκάρω μια υπακολουθία το έχω κάνει απλά δεν μπορώ να καταλάβω πως μπορώ για κάθε αριθμό i να μην τον κάνω εκτύπωση κάθε φορά που μία υπακολουθία του είναι μη-πρώτος
kaliakman Δημοσ. 25 Νοεμβρίου 2015 Δημοσ. 25 Νοεμβρίου 2015 Λοιπόν άκου μια καλή ιδέα.. Αυτά που γράφεις εδώ γραψτα στο lists εκεί μπορείς να πάρεις κανονική απάντηση.. (για τους υπόλοιπους :lists είναι το φόρουμ του μαθήματος)
the other one Δημοσ. 25 Νοεμβρίου 2015 Δημοσ. 25 Νοεμβρίου 2015 Την έχω κι εγώ αυτή την απορία εφόσον υπάρχει το lists γιατί τα ρωτάς εδώ; δεν είναι πως μιλάμε και για κάτι εξειδικευμένο τώρα μαθαίνεις για τέτοιους λόγους υπάρχει η πλατφόρμα.
kostasdi Δημοσ. 26 Νοεμβρίου 2015 Μέλος Δημοσ. 26 Νοεμβρίου 2015 Ακούστε δεν θέλω να ρωτήσω στην πλατφόρα για δικούς μου λόγους.Αν θεωρείται ότι είναι αντιδεολογικό η οτιδήποτε άλλο απλά μην μου απαντήσετε.Έκανα μια ερώτηση όποιος θέλει μου απαντάει όποιος δεν θέλει απλά με αγνοεί.
kostasdi Δημοσ. 26 Νοεμβρίου 2015 Μέλος Δημοσ. 26 Νοεμβρίου 2015 Αναδρομή είναι αυτό που θες. βγαίνει και χωρίς αναδρομή.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα