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] fork chỉ ở tiến trình cha

    fork chỉ ở tiến trình cha

    Xét đoạn mã trong đó chỉ tiến trình cha tiếp tục vòng lặp, còn tiến trình con thoát ngay (ví dụ con gọi exit hoặc break):

    for (int i = 0; i < k; i++) {
        if (fork() == 0) {
            break;  // tien trinh con: thoat vong lap
        }
        // tien trinh cha tiep tuc lap
    }
    

    Ở mỗi vòng lặp chỉ có tiến trình cha tạo thêm đúng một con rồi con dừng lại. Sau k vòng, tổng số tiến trình là k + 1 (một cha và k con).

    Ví dụ

    Với k = 3: cha tạo lần lượt 3 con, tổng cộng 4 tiến trình.

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

      Một số nguyên k.

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

      0 ≤ k ≤ 1000000000.

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

      Một số nguyên: tổng số tiến trình k + 1.

    Ví dụ:

    Đầu vào:

    3
    

    Đầu ra:

    4

    Giải thích:

    Chỉ tiến trình cha lặp, mỗi vòng tạo 1 con rồi con dừng. Sau 3 vòng: 1 cha + 3 con = 4.

    Đang tải editor...