kostasdi Δημοσ. 23 Νοεμβρίου 2015 Δημοσ. 23 Νοεμβρίου 2015 Έχω ένα πρόγραμμα σε C το οποίο βρίσκει όλους τους πρώτους,που είναι διψήφιοι, μέχρι έναν αριθμό τον οποίον τον ορίζουμε με ένα Define.Ενώ ο κώδικας για τους πρώτους μου βγάζει το αποτέλεσμα που θέλω,όταν πάω να βρω τον αριθμό των ψηφίων κάθε πρώτου που βρήκα μου βγάζει περίεργο αποτέλεσμα. Λογικά υπάρχει πρόβλημα με την γραμμή tempnum=i; Έχετε καμία ιδέα τι μπορεί να φταίει; #include <stdio.h> #define MAXNUMB 100 int main (void) { int i,j,tempnum,combs=1; for (i=11 ; i<MAXNUMB; i+=2){ for (j=3;j*j<=i;j+=2) { if (i%j==0) break; } if (j*j>i) printf ("%d is prime\n",i); tempnum=i; while(tempnum!=0){ tempnum/=10; combs+=combs; } printf ("%d digits \n",combs); } }
kaliakman Δημοσ. 24 Νοεμβρίου 2015 Δημοσ. 24 Νοεμβρίου 2015 Λογικό δεν είναι να σου βγάζει περίεργα αποτελέσματα? Το combs δεν είναι τα ψηφία αλλά μια τιμή που αντιπροσωπεύει τα 2^φηφια.. Αν ήθελες τα ψηφία θα έκανες combs++;
kostasdi Δημοσ. 24 Νοεμβρίου 2015 Μέλος Δημοσ. 24 Νοεμβρίου 2015 Λογικό δεν είναι να σου βγάζει περίεργα αποτελέσματα? Το combs δεν είναι τα ψηφία αλλά μια τιμή που αντιπροσωπεύει τα 2^φηφια.. Αν ήθελες τα ψηφία θα έκανες combs++; ναι ναι,έχεις δίκαιο απλά είχα κολλήσει..τελικά το βρήκα και τώρα όλα εντάξει
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα