Ritorna alla pagina del corso.

Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.

01: // 1. scrivere una funzione di nome "isprime" che restituisce vero o
02: // falso a seconda che le sia passato un numero primo o meno
03: 
04: #include<stdio.h>
05: #include<stdlib.h>
06: 
07: // approccio semplificato a forza bruta
08: int isprime(int x)
09: {
10:   for(int i = 2; i < x/2; ++i)
11:   {
12:     if(!(x%i)) // equivalente a  if(x % i == 0)
13:       return 0;  // mi fa uscire subito dalla funzione e il ciclo quindi non termina
14:   }
15:   return 1; //  se il ciclo termina vuol dire che non ho trovato nessun divisore esatto
16: }
17: 
18: 
19: 
20: int main(int argc, char **argv){
21: 
22:   printf("Il risultato di isprime(8) e' %d\n", isprime(8));
23:   printf("Il risultato di isprime(17) e' %d\n", isprime(17));
24: 
25:   return 0;
26: }
27: 
28: