1 - Scrivere un programma che calcoli e stampi in ordine crescente i numeri primi compresi tra 1 e 100. 2 - Realizzare una funzione "gauss" che generi numeri casuali con funzione di distribuzione gaussiana. Con questa funzione generare due variabili x e y con valore aspettato=10 e sigma=1 e calcolare il loro rapporto r=x/y. r dovrebbe avere un valore aspettato=1 e sigma=0.141. Per verificarlo generare 1000 valori di r, immagazzinarli in un array, e calcolarne la media e lo scarto quadratico medio tramite due opportune funzioni. NOTA: Per generare numeri casuali con funzione di distribuzione gaussiana potete utilizzare il seguente algoritmo approssimato: chiamando 12 volte la funzione rand()/(RAND_MAX+1.) si generino 12 numeri, i quali avranno una funzione di distribuzione uniforme fra 0 e 1; Sommando i 12 numeri si otterra' un numero con funzione di distribuzione approssimativamente gaussiana con valore aspettato 6 e sigma 1. Sottraendo 6 a questo numero si ha un generatore di numeri con funzione di distribuzione di gauss, valore aspettato 0 e sigma 1. Da questo si puo' ottenere un numero casuale x con valore aspettato=mu e sigma=s mediante la trasformazione : x=g*s+mu dove g e' il numero casuale con mu=0 e sigma=1. 3 - Si consideri un punto materiale di massa m, in grado di muoversi lungo una guida orizzontale con velocita' iniziale v_0. Il punto perde velocita' a causa dell'attrito e, dopo un certo tempo, si arresta. Considerando che F_a = - mu*m*g = m*a e che il moto e' uniformemente ritardato, scrivere un programma che acquisisca dall'utente i valori m, v_0, mu (si assuma g = 9.81) e l'ampiezza dell'intervallo temporale dt su cui integrare, e che quindi visualizzi la posizione e la velocita' del punto per successivi intervalli dt, fino all'arresto del punto stesso.