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
- a ≤ b.
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; }