Beginner Free Contest 52 - DIVNOTDIV

Xem dạng PDF

Gửi bài giải

Điểm: 0,20 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Lưu ý: các bạn không nhập, xuất dữ liệu bằng file kể cả khi đề bài có yêu cầu. Đọc, ghi dữ liệu được thực hiện ở stdin và stdout.


Bình luận

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



  • 0
    hariduowg  đã bình luận lúc 24, Tháng 6, 2025, 15:52 chỉnh sửa

    Ý tưởng của mình :

    Hint 1:

    Làm sao để tìm số nhỏ nhất lớn hơn hoặc bằng n và chia hết cho a?

    Thử lấy bội đầu tiên của a không nhỏ hơn n bằng cách làm tròn lên:

    x = ((n + a - 1) / a) * a

    Lúc này x là số nhỏ nhất ≥ n mà chia hết cho a.

    Hint 2:

    Làm sao để đảm bảo x không chia hết cho b?

    Kiểm tra:

    (x % b == 0)

    Nếu x chia hết cho b thì tăng lên a để đến bội tiếp theo.

    Hint 3:

    Trường hợp nào thì không tồn tại số như vậy?

    Nếu a chia hết cho b, tức là a % b == 0, thì mọi bội của a đều chia hết cho b.

    Khi đó không thể tìm được x thoả mãn, nên cần in -1.

    My sovle:

    here


  • -1
    hoanglong1643  đã bình luận lúc 22, Tháng 4, 2024, 12:33

    tag : math