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

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

Δημοσ.

Έχω ένα πρόγραμμα σε 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);
		
		}
		}
		
Δημοσ.

Λογικό δεν είναι να σου βγάζει περίεργα αποτελέσματα? Το combs δεν είναι τα ψηφία αλλά μια τιμή που αντιπροσωπεύει τα 2^φηφια..

Αν ήθελες τα ψηφία θα έκανες combs++;

Δημοσ.

Λογικό δεν είναι να σου βγάζει περίεργα αποτελέσματα? Το combs δεν είναι τα ψηφία αλλά μια τιμή που αντιπροσωπεύει τα 2^φηφια..

Αν ήθελες τα ψηφία θα έκανες combs++;

ναι ναι,έχεις δίκαιο απλά είχα κολλήσει..τελικά το βρήκα και τώρα όλα εντάξει

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

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

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

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

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

Σύνδεση

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

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