Pages: [1]   Go Down
Print
Author Topic: stima di pi greco..  (Read 1838 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« on: 07-11-2008, 15:48:59 »

Ciao..volevo sapere se qualcuno che ha fatto l'esercizio sulla stima di pi grego potesse spiegarmi qualcosa...perchè quando è stato visto in aula non sono potuta restare altrimenti perdevo il treno  c'è qualcuno tanto gentile da illuminarmi su come si fa?
Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
andreacannella
Administrator
Forumista Esperto
*****
Offline Offline

Gender: Male
Posts: 1.488


Andea Cannella - www.andreacannella.com


WWW
« Reply #1 on: 10-11-2008, 20:14:59 »

Io ho provato a rifarlo a casa e ho abbozzato il codice sottostante...
...dagli un'occhiata e vedi che ne pensi.

Fammi sapere

Saluti

Andrea



public class PIgreco
{
public static void main (String [] args)
  {
    int counter = 0; //il contatore per il ciclo while
    int d = 0;
    final int k = 1000000000;
    while (counter<k)
    { 
      double x = Math.random(); //un punto casuale sull'asse delle x
      double y = Math.random(); //un punto casuale sull'asse delle y
      /*
      System.out.println(x+"\n"+y);
      */
      double dist = Math.sqrt((Math.pow((1/2-x),2))+(Math.pow((1/2-y),2))); //distanza dal centro del punto casuale
      counter++; //incrementa il contatore
      dist=(int)dist;
      if (dist == 1.0) //ciclo if che conta quante volte la distanza è pari al raggio
      d++;
    }
    int N = k-d;
    double PI = 4*(double)N/k;
    System.out.println("Il valore approssimato di PI Greco è "+PI+". Il valore corretto è "+Math.PI);
    System.exit(0);
  }
 
}
Logged

Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)

Good times for a change
See, the luck I've had
Can make a good man
Turn bad

So please, please, please
Let me, let me, let me
Let me get what I want
This time

The Smiths
Giuseppo
Apprendista Forumista
**
Offline Offline

Posts: 198



« Reply #2 on: 27-11-2008, 17:34:58 »

mi spieghi perchè questi due passaggi?

int N = k-d;
    double PI = 4*(double)N/k;
Logged

I have nothing to declare except my genius.
Aigor
Forumista Esperto
****
Offline Offline

Gender: Male
Posts: 1.184


"Il destino non è una catena, ma un volo."[A.B.]


« Reply #3 on: 27-11-2008, 17:43:24 »

USATE IL TAG CODE !!!!!!!!!   testate

( k dichiarala double !!! )
Logged

"Era d'altronde uno di quegli uomini che amano assistere alla propria vita, ritenendo impropria qualsiasi ambizione a viverla.
Si sarà notato che essi osservano il loro destino nel modo in cui, i più, sono soliti osservare una giornata di pioggia." - Seta,Baricco
Pages: [1]   Go Up
Print
Jump to: