Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 19 / 01 / 2018 by u53r
- Verificare che N sia un numero primo.
- In pratica, dato un numero N in input, si tenta la divisione di questo per tutti i numeri minori di esso, esclusi 0 e 1 .
- Se non risulta divisibile per nessun numero, allora viene considerato primo .
- */
- #include <stdio.h>
- int main() {
- unsigned int i,x; // Uso "unsigned int" perché un numero primo è sempre un intero positivo
- printf("Inserisci un numero\n");
- scanf("%u", &x);
- if(x == 0){ // Controllo che x sia uguale a 0 . In caso affermativo, stampo un avviso e chiudo il programma
- printf("Lo zero non è un numero primo, poichè è divisibile per infiniti numeri, oltra a se stesso\n");
- return 0; // Una volta stampata la scritta, chiudo il programma
- }else if(x == 1){ // Controllo che x sia uguale a 1 . In caso affermativo, stampo un avviso e chiudo il programma
- printf("L'uno non è un numero primo, poiché è divisibile solo per se stesso\n");
- return 0; // Una volta stampata la scritta, chiudo il programma
- }else{
- for(i=x-1;i>1; i--){ // Parto da x-1 e impongo i>1 come condizione per fare in modo di escludere il numero stesso e 1 (dato che ogni numero è divisibile per se stesso e per 1)
- if((x % i) == 0){ // Se il resto della divisione di x / i è uguale a 0, allora x NON è un numero primo
- printf("%u non e' un numero primo: e' divisibile per %u\n",x,i);
- return 0; // Una volta stampata la scritta, chiudo il programma
- }
- }
- }
- printf("%u è un numero primo\n", x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement