//Muestra el calculo de numeros de digitos de un termino de fibonnaci
//Guillermo  Escobar P  cod 256243

 import java.awt.Graphics;
 import java.awt.*;
 import java.math.*;
 import java.applet.*;

public class NumDigiFibo extends Applet

{  TextField  result,num;
   private Color c;
  
   public void init()
	{    num= new TextField(5);
         add(num);
         result= new TextField(10);
          add(result);
		
      	 result.setEditable(false);

	        c = Color.blue;
    }
  public void paint (Graphics g )
     {   g.setColor( c );
	   setBackground(Color.orange);
  	   g.drawString ("Calcula el numero de digitos de un termino de fibonnaci", 20,55);
       g.drawString ("Digite un numero entero",100,75);
        		
	     } //fin paint
		  
   public boolean action(Event e,Object o)
      
		{ int number , fibonaccidigitos; 
		      
         number = Integer.parseInt(num.getText());
         showStatus("Calculando");
         fibonaccidigitos =calculadig(number); 
         showStatus("Listo");
         result.setText(Integer.toString(fibonaccidigitos));
         return true;
      
      }
   
     int calculadig(int n)
	  { //int n=100;
	     int Numdigitos;
        double A=Math.log(Math.sqrt(5));
        double B=Math.log(10);
	    Numdigitos=(int)((Math.log(Math.pow(1.61803, n))-Math.pow(-0.61803, n))/B-A/B)+1;
   //	result.setText(Integer.toString(Numdigitos)) ;
	   return Numdigitos;
	}	   
}	  

