#include<iostream>
#include<iomanip>
#include <cmath>
using namespace std;
float my_sqrt(long long n,int p)
{
    int start = 0;
    int end = n;
    float ans;
    int mid;
    while(start <= end)
    {
        mid = (start+end)/2;
        if(mid*mid < n)
            start = mid + 1;
        else if(mid*mid > n)
            end = mid - 1;
        else
        {
            ans = mid;
            break;
        }
    }
    float increment = 0.1;
    for(int i = 0; i < p;i++)
    {
        while(ans * ans <= n)
        {
            ans += increment;
        }
        ans -= increment;
        increment /= 10;
    }
    return ans;
}
int main()
{
    long long int n;
    for(int i = 0; i < 100; ++i)
    {
        cout << fixed << setprecision(4) << sqrt(i) << " ";
        cout <<  fixed << setprecision(4) << my_sqrt(i,4) << " ";
        cout <<  fixed << setprecision(6) << my_sqrt(i,4) << endl;
    }
}