C :: Aufgabe #165 :: Lösung #1

3 Lösungen Lösungen öffentlich
#165

Funktion um Pi zu berechnen.

Anfänger - C von Felix - 09.07.2017 um 21:59 Uhr
Schreibe eine Methode um Pi zu berechnen. Versuche Pi auf so viele Stellen wie möglich zu berechnen.
#1
vote_ok
von devnull (8870 Punkte) - 27.08.2017 um 22:37 Uhr
Quellcode ausblenden C-Code
/* Pi ueber Teilerfremdheit / Monte-Carlo */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <math.h>

int ggT(int p, int q) {
  int r;
  
  while ((r=p%q) != 0) {
    p=q;
    q=r;
  }
  return q;
}

int main(void) {
  int n, nt, nh;
  int a, b;
  double rt, pi;
  
  for (;;) {
    printf("Anzahl Versuche (0=Ende): ");
    scanf("%d", &n);
    if (n==0) 
		break;
    srand(time(NULL));
    
    for (nt=nh=0; nt<n; nt++) {
      a = rand() + 1;
      b = rand() + 1;
      if (ggT(a,b)==1)    /* a,b teilerfremd */
        ++nh;
    }
    rt = 1.0*nh/nt;
    pi = sqrt(6.0/rt);
    printf("Versuche: %d, Pi-Approximation: %.6f\n", nt, pi);
  }
  return 0;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben