Numeri Primi

Questo programma in C ti dirà se il numero inserito dall’utente è, o non è, un numero primo!

v 1.0


#include <stdio.h>

int main(void) {

int n, i;
 int p = 1; // 1 vero - 0 falso

do {

printf("Inserisci un numero. Ti dico se e' primo. ");
 scanf("%i", &n);

} while (n < 1);

for (i = 2; i < n && p == 1; i++) { // && p == 1 serve solo per velocizzare il programma in caso di numeri estremamente grandi

if (n % i == 0) {

p = 0; // ora è falso

}

}

if (p == 1)
 printf("Il numero inserito e' primo!");
 else
 printf("Il numero inserito non e' primo...");

return 0;

}

v 2.0 (in array – vettori)

#include <stdio.h>

#define DIM 40

int main(void) {
  int primes[DIM];
  int pos;
  int nPrimes;
  int isPrime;
  int candidato;

  // inizializza l'array con i numeri primi
  primes[0] = 2;
  primes[1] = 3;
  nPrimes = 2;

  for (candidato = 5; nPrimes < DIM; candidato += 2) {
    isPrime = 1; // vero

    // proviamo a dividere candidato per i numeri primi più piccoli
    // della radice quadrata del candidato stesso
    for (pos = 0; isPrime && primes[pos] * primes[pos] <= candidato; pos++)
      if (candidato % primes[pos] == 0)
	isPrime = 0; // falso

    // se candidato era realmente primo, lo salvo nell'array
    if (isPrime)
      primes[nPrimes++] = candidato;
  }

  // stampa l'array sul video
  for (pos = 0; pos < DIM; pos++)
    printf("%i ", primes[pos]);

  printf("\n");

  return 0;
}

Per ogni dubbio o problema, non esitare a commentare!!



  1. No trackbacks yet.

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Warning: fsockopen() [function.fsockopen]: unable to connect to www.sweetcaptcha.com:80 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ) in D:\inetpub\webs\caprioliinfo\progression\wp-content\plugins\sweetcaptcha-revolutionary-free-captcha-service\library\sweetcaptcha.php on line 81