Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω γράψει αυτό το πρόγραμμα στην 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; 
}
Δημοσ.

Δεν μας είπες τι εννοεί ο καθηγητης σου οταν λεει "ελαχιστικούς πρώτους" και "υπακολουθίες" τους. 

Αν καταλαβες δώσε ενα παράδειγμα.

 

Οκ. Eιναι στο wikipedia

Δημοσ.

Ο κώδικας σου printάρει οποινδήποτε αριθμό έχει έστω και μια υπακολουθία που δεν είναι πρώτη.

Ναι αλλά το πρόβλημα είναι ότι αφου βρίσκω τις υπακολουθίες και μετα  όταν ψάχνω να βρω ποιες υπακολουθίες είναι πρώτοι η όχι..όταν θα τσεκάρω πχ το 11 θα μου το εκτυπώσει 2 φορές και όχι 1.Δηδάδη αφού 1,1 δε είναι πρώτοι εκτυπώνει δυο φορές το 11

Δημοσ.

Ε μήπως να το κάνεις να μην εκτυπώνει δυο φορές το νούμερο??? Δηλαδή με τον τρόπο σου το 99999999(Έστω οτί ήταν πρώτος) θα το εμφάνιζε 9 φορές... Με ποιον τρόπο θα μπορούσες να το αποφύγεις?

Δημοσ.

Ε μήπως να το κάνεις να μην εκτυπώνει δυο φορές το νούμερο??? Δηλαδή με τον τρόπο σου το 99999999(Έστω οτί ήταν πρώτος) θα το εμφάνιζε 9 φορές... Με ποιον τρόπο θα μπορούσες να το αποφύγεις?

Σκέφτηκα να βρω κάτι που να αποθηκεύει τις υπακολουθίες ενος αριθμού ξεχωριστά και να ψάχνει μέχρι να βρει πρώτο.Αν δεν βρει να εκτυπώνει τον αριθμό,αν βρει να πηγαίνει στο επόμενο "i".Aλλά υπάρχουν δυο προβλήματα σε αυτό 1)δεν μπορούμε να χρησιμοποιήσουμε πίνακες ώστε να αποθηκεύσω τις υπακολουθίες και 2)αν θέλω ελέγξω τις υπακολουθίες στο 11 θα μου βγάλει 1,1,11 αλλά το 11 ειναι πρώτος και ουσιαστικά δεν θα το εκτυπώσει 

Σκέφτηκα να βρω κάτι που να αποθηκεύει τις υπακολουθίες ενος αριθμού ξεχωριστά και να ψάχνει μέχρι να βρει πρώτο.Αν δεν βρει να εκτυπώνει τον αριθμό,αν βρει να πηγαίνει στο επόμενο "i".Aλλά υπάρχουν δυο προβλήματα σε αυτό 1)δεν μπορούμε να χρησιμοποιήσουμε πίνακες ώστε να αποθηκεύσω τις υπακολουθίες και 2)αν θέλω ελέγξω τις υπακολουθίες στο 11 θα μου βγάλει 1,1,11 αλλά το 11 ειναι πρώτος και ουσιαστικά δεν θα το εκτυπώσει 

και μέτα αυτό πρέπει να τρέξει και μέσα σε 30 sec για 100000000 αριθμούς...χαχαχαα ποτέεεε B)

Δημοσ.

Γιατί να τις αποθηκεύεις κάπου τις υπακολουθίες?Εφόσον τις βρίσκεις δεν μπορείς να έχεις μια μεταβλητή που τσεκάρει αν σου αρέσει ή όχι η υπακολουθία..?

Δημοσ.

Γιατί να τις αποθηκεύεις κάπου τις υπακολουθίες?Εφόσον τις βρίσκεις δεν μπορείς να έχεις μια μεταβλητή που τσεκάρει αν σου αρέσει ή όχι η υπακολουθία..?

Δηλαδή σαν έναν counter;

Δημοσ.

Δηλαδή σαν έναν counter;

Το να τσεκάρω μια υπακολουθία το έχω κάνει απλά δεν μπορώ να καταλάβω πως μπορώ για κάθε αριθμό i να μην τον κάνω εκτύπωση κάθε φορά που μία υπακολουθία του είναι μη-πρώτος

Δημοσ.

Λοιπόν άκου μια καλή ιδέα.. Αυτά που γράφεις εδώ γραψτα στο lists εκεί μπορείς να πάρεις κανονική απάντηση.. (για τους υπόλοιπους :lists είναι το φόρουμ του μαθήματος)

Δημοσ.

Την έχω κι εγώ αυτή την απορία εφόσον υπάρχει το lists γιατί τα ρωτάς εδώ; δεν είναι πως μιλάμε και για κάτι εξειδικευμένο τώρα μαθαίνεις για τέτοιους λόγους υπάρχει η πλατφόρμα.

Δημοσ.

Ακούστε δεν θέλω να ρωτήσω στην πλατφόρα για δικούς μου λόγους.Αν θεωρείται ότι είναι αντιδεολογικό η οτιδήποτε άλλο απλά μην μου απαντήσετε.Έκανα μια ερώτηση όποιος θέλει μου απαντάει όποιος δεν θέλει απλά με αγνοεί.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...