/*
  Se voglio trovare la radice quadrata di 7, posso procedere per passi successivi:
  2 č il pių grande numero intero tale che 2^2 <=7 e 3 il pių piccolo intero tale che 3^3>=7.
  2.6 č il pių grande numero con un solo decimale tale che 2.6^2 <=7 e
  2.7 il pių piccolo numero con un solo decimale tale che 3^3>=7.
  Calcolare la radice di un numero dato N fino al 12-esimo decimale usando questa semplice tecnica.
*/

import javax.swing.JOptionPane;
class ExArray_08 {
  public static void main(String[] args) {
    int N = Integer.parseInt(JOptionPane.showInputDialog("Radice quadrata di?"));
    double valore = 1.0;                //valore della radice da formare
    double incremento = 10.0;           //incrementi successivi
    int decimali = -1;                  //contatore di cifre decimali
    
    do {
       //sposta di una posizione decimale l'incremento da dare a "valore"
       incremento /= 10;                //1; 0.1; 0.01; 0.001; ecc.
       decimali++;                      //0; 1;   2;    3;     ecc.
      //trova il quadrato pių grande...
      do {
        valore += incremento;
      }
      while ((valore*valore)<N);
      //se non č il numero cercato diminuisci dell'ultimo incremento
      if ((valore*valore)!=N) valore -= incremento;
    }
    //esci quando il numero č esatto oppure quando hai calcolato oltre gli 11 decimali
    while ((valore*valore != N) && (decimali<12));
            
    System.out.println("La radice quadrata di " + N + " e': " + valore);

    System.exit(0);
  }
}