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

double f(double x , int n){
  double y=-1/2;
  while(n>=1){
    y += pow(x,n);
    n--;
  }
  return y;
}

double df(double x , int n){
  double y=0;
  while(n>=1){
    y += n*pow(x,n-1);
    n--;
      }
  return y;
}

int main(void)
{
  int i=0,n;
  double x,eps;
  printf("\n  x^n+x^(n-1)+...+x^2+x-(1/2)=0について\n");
  printf("  nの値:");
  scanf("%d",&n);
  printf("  初期値x:");
  scanf("%lf",&x);
  printf("  精度eps:");
  scanf("%lf",&eps);
  
  while(fabs(f(x,n))>eps)
    {
      x = x-f(x,n)/df(x,n);
      i++;
      printf("\n%3d回目    x=%lf    f(x)=%lf\n",i,x,f(x,n));
    } 
}
