Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Số lần gọi read() theo buffer

    Khi đọc một file size byte bằng vòng lặp read(fd, buf, BUF), mỗi lần read lấy tối đa BUF byte. Số lần gọi read để đọc hết dữ liệu là ceil(size / BUF), cộng thêm 1 lần cuối trả về 0 để báo EOF.

    Ví dụ file 1000 byte, BUF=512: cần 2 lần đọc dữ liệu (512 + 488) rồi 1 lần nữa nhận 0 → tổng 3 lần gọi read.

    Cho size và BUF, in tổng số lần gọi read (kể cả lần nhận EOF).

    Ví dụ I/O:

    Input:  1000 512
    Output: 3
    
    • Định dạng đầu vào:

      Một dòng gồm hai số nguyên size BUF.

    • Ràng buộc đầu vào:

      0 ≤ size ≤ 10^15; 1 ≤ BUF ≤ 10^9.

    • Định dạng đầu ra:

      Một số nguyên: tổng số lần gọi read (gồm lần cuối nhận 0).

    Ví dụ:

    Đầu vào:

    1000 512
    

    Đầu ra:

    3

    Giải thích:

    ceil(1000/512)=2 lần đọc dữ liệu + 1 lần nhận EOF = 3.

    Đang tải editor...