Trong buổi ôn tập hôm nay, thầy giáo đã chuẩn bị một số món quà để trao tặng cho các bạn trong đội tuyển học sinh giỏi trả lời đúng bài toán về số học của thầy như sau:
Cho hai số nguyên dương \(L,\ R\ (1\ \leq \ L\ \leq \ R\ \leq \ {10}^{18})\). Hãy đếm số lượng số chính phương trong đoạn \(\lbrack L,\ R\rbrack\)?
Biết rằng số chính phương là số bằng bình phương của một số tự nhiên.
Ví dụ: \(9\) là số chính phương vì \(9\ = \ 3^{2}\).
Rất nhanh chóng An đã đưa ra kết quả của bài toán. Em hãy lập trình giải quyết bài toán trên để biết xem An có được nhận món quà từ thầy giáo hay không.
Yêu cầu: Hãy đếm số lượng số chính phương trong đoạn \(\lbrack L,\ R\rbrack\).
Dữ liệu vào: Hai số nguyên dương \(L\) và \(R\).
Kết quả: Ghi một số nguyên duy nhất là số lượng các số chính phương trong đoạn \(\lbrack L,\ R\rbrack\).
Ví dụ:
| Input | Output |
|---|---|
| 4 30 | 4 |
Giới hạn:
Có 70% test với \(1 \leq \ L\ \leq \ R\ \leq \ {10}^{6}\);
Có 30% test với \(1\ \leq \ L \leq \ R\ \leq 10^{18}\).