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ố tiến trình sau n lần fork

    Số tiến trình sau n lần fork

    Trong POSIX, lời gọi fork() tạo ra một tiến trình con là bản sao của tiến trình cha. Sau khi fork() thành công, có 2 tiến trình cùng thực thi lệnh tiếp theo.

    Nếu một chương trình thực hiện fork() liên tiếp n lần (mỗi tiến trình đang chạy đều gọi fork()), thì tổng số tiến trình cuối cùng là:

    2n2^n2n

    Ví dụ với đoạn:

    fork();
    fork();
    fork();
    

    có n = 3 lần fork, tạo ra 2^3 = 8 tiến trình.

    Cho n, hãy tính tổng số tiến trình tồn tại sau khi thực hiện n lệnh fork() liên tiếp.

    Ví dụ I/O: với n = 3, kết quả là 8.

    • Định dạng đầu vào:

      Một số nguyên n (số lần gọi fork liên tiếp).

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

      0 <= n <= 60

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

      Một số nguyên: tổng số tiến trình 2^n.

    Ví dụ:

    Đầu vào:

    3
    

    Đầu ra:

    8

    Giải thích:

    n = 3 lần fork tạo cây nhị phân đầy đủ: mỗi lần fork nhân đôi số tiến trình, nên tổng = 2^3 = 8.

    Đang tải editor...