--> cat Pi1.java
import fr.jussieu.script.*;
class Pi1 {
static double f(double x){
return Math.sqrt(1 - (x * x));}
/* on effectue un lancer et on regarde si on est dans la cible */
static boolean dedans(){
/* on tire au sort deux nombres dans l'intervalle [0:1[ */
/* qui seront les coordonnées du point d'impact */
double u = Math.random();
double v = Math.random();
return v <= f(u);
}
/* on effectue une série de n lancers et */
/* on comptabilise soi-même son score */
static int serieDeLancers(int n) {
int i, score = 0;
for (i = 0; i < n; i++)
if(dedans()) score = score + 1;
return score;
}
public static void main(String[ ] st){
int nbLancers, score;
double pi;
/* on détermine le nombre de lancers (st[0])
nbLancers = Deug.stringToInt(st[0]);
score = serieDeLancers(nbLancers);
pi = 4 * ((double)score / nbLancers);
Deug.println("PI = " + pi);
}
}
--> javac Pi1.java
--> java Pi1 100000
PI = 3.14056
--> java Pi1 1000000
PI = 3.1429
-->
|