public static double f (double x) {
return Math.Exp(-x) - Math.Log(x);
public static void Main()
double a, b, c = 0, d, e, nit, ep;
Console.WriteLine("Introduce el valor de a: ") ;
a = double.Parse(Console.ReadLine());
Console.WriteLine("Introduce el valor de b: ") ;
b = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe el epsilon:");
ep = double.Parse(Console.ReadLine());
nit = Math.Log((b-a)/ep)/Math.Log(2);
Console.WriteLine($"El número de iteraciones debe ser mayor a: {nit} ") ;
c = (a*f(b) - b*f(a)) /(f(b) - f(a));
if( i%2 == 0 || i <= 10){
Console.WriteLine($"iteración {i}");
Console.WriteLine($"{a} {c} {b} ") ;
Console.WriteLine($"{f(a)} {f(c)} {f(b)}") ;
Console.WriteLine($"{c} es la raíz"); break;
Console.WriteLine($"El error aprox es de: {e}% \n");
}else{Console.WriteLine($"No hay una raíz dentro del intervalo [{a}, {b}] ") ;}