#include <stdio.h>
#include <math.h>

double funktion(double x)
{
	return -2*x*x+4;
}

double ableitung(double x)
{
	return -4*x;
}

void ausgabe(int k, double x_k, double fx_k)
{
	printf("%d %G %G\n", k, x_k, fx_k);
}

double newton_operator(double x)
{
	return x - funktion(x) / ableitung(x);
}

int main(void)
{
	double x1 = 0,  // x_k
		x2 = -1; // x_k+1
	int k = 0;
	double epsilon = 1E-10;
	
	while(fabs(x2-x1) >= epsilon)
	{
		x1 = x2;
		k = k+1;
		x2 = newton_operator(x1);
		ausgabe(k, x1, funktion(x1));
	}
	return 0;
}
