Corso di Informatica 1 (IN110)

Gli esercizi

Testi e soluzioni di alcuni esercizi

Test di primalità

Letto in input un intero maggiore di 1, stabilisce se il numero è primo, eseguendo divisioni successive.

/*
**  primi.C
**
**  Test di primalita': il programma chiede un intero n>1 e
**  stampa "n e' primo" oppure "n non e' primo" a seconda dei
**  casi. L'algoritmo usato e' quello delle divisioni successive,
**  che non e' il piu' efficace, ma uno dei piu' elementari.
**
**  Lorenzo Tortora (tortora@logique.jussieu.fr) - Marzo 2001
*/

#include <stdlib.h>
#include <stdio.h>

int main(void) {
  int i,n;

  do {
    printf("Digita un intero maggiore di 1: ");
    scanf("%d", &n);
  } while (n<=1);
  i=2;
  while (n%i!=0) {
    i++;
  }
  if (i==n)
    printf("Il numero %d e' primo.\n", n);
  else
    printf("Il numero %d non e' primo.\n", n);
  return(0);
}


Author: Marco Liverani - Last modified: Monday October 24, 2016 - URI: http://www.mat.uniroma3.it/users/liverani/IN1/primi.shtml