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 con được tạo ra

    Số tiến trình con được tạo ra sau n lần fork

    Sau n lần fork() liên tiếp, tổng số tiến trình là 2^n. Trong đó có 1 tiến trình gốc (tiến trình cha ban đầu) và phần còn lại là các tiến trình con (kể cả con, cháu, chắt...) được tạo ra bởi fork().

    Số tiến trình mới được tạo ra (tổng số con cháu) là:

    2n−12^n - 12n−1

    Mỗi lời gọi fork() thành công tạo đúng 1 tiến trình mới; tổng số lời gọi fork được thực hiện bởi tất cả tiến trình chính là 2^n - 1.

    Ví dụ I/O: với n = 3, có 8 tiến trình tổng cộng, trong đó 2^3 - 1 = 7 tiến trình con cháu được sinh ra.

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

      Một số nguyên n.

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

      0 <= n <= 60

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

      Một số nguyên: số tiến trình con cháu được tạo ra 2^n - 1.

    Ví dụ:

    Đầu vào:

    3
    

    Đầu ra:

    7

    Giải thích:

    Với n = 3 có 2^3 = 8 tiến trình, trừ đi 1 tiến trình gốc, còn 7 tiến trình con cháu được sinh ra.

    Đang tải editor...