DSCP - Đếm số chính phương

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Hôm nay Tí được học về số chính phương, đó là những số là bình phương của một số tự nhiên (chẳng hạn ~0, 1, 4, 9, 16…~).

Tí rất thích số chính phương và Tí muốn đếm xem giữa hai số nguyên dương ~L, R~ bất kỳ có bao nhiêu số chính phương (tức là những số chính phương ~n~ mà ~L ≤ n ≤ R~). Em hãy giúp Tí lập một chương trình giải quyết việc đó nhé.

Input

  • Một dòng duy nhất chứa hai số nguyên dương ~L, R~ cách nhau bởi một dấu cách.

Giới hạn:

  • ~40\%~ số test có ~1 ≤ L ≤ R ≤ 10^4~
  • ~40\%~ số test có ~1 ≤ L ≤ R ≤ 10^8, R – L ≤ 10^5~
  • ~20\%~ số test có ~1 ≤ L ≤ R ≤ 10^{12}, R – L ≥ 10^9~.

Output

  • Một dòng duy nhất ghi số số chính phương nằm giữa ~L~ và ~R~

Sample

Input #1
2 5
Output #1
1
Input #2
3 25
Output #2
4

Hint

  • Trong ví dụ ~1~, có duy nhất một số chính phương nằm giữa ~2~ và ~5~ là số ~4~
  • Trong ví dụ ~2~, có bốn số chính phương nằm giữa ~3~ và ~25~ là số ~4~, ~9~, ~16~, ~25~

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    lch101  đã bình luận lúc 25, Tháng 4, 2024, 10:26

    khi duyệt từ sqrt(l) -> sqrt(r) mn cần chú ý case sau: 10->100 nếu lấy sqrt --> 3->10 mà 3^2 = 9 thì không nằm trong khoảng 10->100 Vậy thì left sau khi khai căn cần lấy cận trên để nó ko bị làm tròn xuống.


  • 0
    trangcongqen10101010  đã bình luận lúc 16, Tháng 4, 2024, 11:29

    S.O.S!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


  • -1
    dainghiajustiin  đã bình luận lúc 10, Tháng 3, 2024, 7:02

  • 1
    dungolduck  đã bình luận lúc 11, Tháng 2, 2024, 7:31

    bài này mấy bạn chỉ cần duyệt từ cận trên của n=sqrt(l) đến m=sqrt(r) sau đó lấy m-n+1 là đc


    • 0
      ______  đã bình luận lúc 9, Tháng 3, 2024, 7:58

      3 tét gần cuối không nhai đc ní ơi