Quadrati perfetti

Giotto, essendosi stancato dei cerchi perfetti, ora vuole risolvere un problema sui quadrati perfetti.
In particolare si chiede, dati due numeri interi positivi a e b, quanti siano i quadrati perfetti compresi tra a e b (estremi inclusi).
Un numero x è un quadrato perfetto se esiste un valore z intero tale che z·z = x.

Formato di input/output

Il tuo programma dovrà leggere i seguenti dati: due numeri interi a, b.
Il tuo programma dovrà stampare un singolo numero intero: il numero di quadrati perfetti nell’intervallo [a, b].

Assunzioni

  • 1 ≤ a, b ≤ 1018
  • ab.

Esempi di input/output

input.txt output.txt
1 1 1
2 3 0
1 10 3

Spiegazione

  • Nel primo caso d’esempio l’unico quadrato perfetto da considerare è 1.
  • Nel secondo caso d’esempio non ci sono quadrati perfetti compresi tra 2 e 3, quindi il risultato è 0.
  • Nel terzo caso d’esempio i quadrati perfetti compresi nel’intervallo sono 1, 4 e 9.

/*
	www.valcon.it
	ACM - ICP - Quadrati perfetti
*/
#include
#include
#include

using namespace std;

int main()
{
    ifstream fin ( "input.txt");
    ofstream fout("output.txt");

    long long a, b;
    fin >> a >> b;
	
    long long aa= ceil(sqrt(a));
    long long bb=floor(sqrt(b));

    fout << bb-aa+1;
    return 0;
}