/*
 * Heron-Verfahren zur Berechnung der Quadratwurzel
 * Version 2
 * 2019-07-08, Andre M. Maier
 */
#include <stdio.h>

int main(int argc, char **argv)
{
   const double epsilon = 0.000001;

   printf("Radikand eingeben: x = ");
   double x;
   scanf("%lf",&x);
   if(x<0)
   {
      printf("Fehler: Negativer Radikand.\n");
      return 1;
   }
   double t=x/2;
   while((t<x/t-epsilon)||(t>x/t+epsilon)) 
   {
      printf("t=%.35lf\n",t);
      t = ( t + (x/t) ) / 2;
   }
   return 0;
}
