Metoda Monte Carlo a wyznaczanie liczby pi
Kod był wyświetlany 5510 razy.
    /*
  Name: Metoda Monte Carlo a wyznaczanie liczby pi 
  Copyright: GPL GNU
  Author: WJL
  Date: 22-04-10 08:40
  Description: 
  Liczba Ludolfina (liczba ) to liczba rzeczywista, niewymierna, będąca  stosunkiem długości obwodu   koła do jego średnicy: Liczba Pi (z dokładnością  do 10 miejsc po przecinku):3,141592653589
 Metodą Monte Carlo określa się każdą metodę wykorzystującą zjawisko losowości do rozwiązywania problemów. Wśród wielu jej zastosowań można wymienić wyznaczanie stałych matematycznych i fizycznych.
  Algorytm - wyznaczania liczby pi metodą Monte Carlo
  1. Planszę stanowi kwadrat, w który wpisane jest koło o promieniu r.
  2. W pojedynczym eksperymencie losujemy punkt w obrębie planszy.
  3. Następnie sprawdzamy, czy punkt ten trafił w koło.
  4. Przeprowadzamy N prób i zliczamy liczbę trafień w koło (T).
  Ze stosunku 4*T/N wyznaczamy PI. 
*/

#include <iostream>
#include <stdlib.h> 

int main(void)
  
   {
     long double x,y;              // współrzędne losowego punktu
     long double T=0,R,ilosc,pi;   // ilosc- liczba punktów generowanych
                                   // T- liczba punktów w polu koła 
                               
     //incjalizacja generatora licznb pseudolosowych
     
     srand(time(NULL)); 
     
     std:: cout << "Ile punktow? ";
     std::cin >> ilosc;
  
     // losowanie liczb rzeczywistych z zakresu ,<0,1>.
  
        for(R=0; R<ilosc; R++)
          {
            x = (double)rand()/(RAND_MAX); // losujemy liczby rzeczywiste
            y = (double)rand()/(RAND_MAX); // z zakresu <0,1>
  
    // sprawdzenie czy wygenerowany punkt należy do koła o promieniu 1
  
              if (x*x+y*y<=1) 
  
                 T++; //jeśli punkt należy do koła to licznik T zostaje zwiekszony o jeden
           }
        
                 pi= (4*T)/R;
                 std::cout << "liczba pi ma wartosc : " << pi;
 
      std:: cin.ignore();
      getchar();
      return 0;
  }

    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT