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] Tổng tiến trình cây fork nhiều mức

    Tổng số tiến trình trong cây fork nhiều mức

    Giả sử mỗi tiến trình (trừ các tiến trình ở mức cuối) sinh ra đúng m con, và cây có k mức con bên dưới gốc (gốc là mức 0). Khi đó số tiến trình ở mức j là m^j, và tổng số tiến trình trong cây là tổng cấp số nhân:

    1+m+m2+⋯+mk=m k+1−1m−1(m≥2)1 + m + m^2 + \dots + m^k = \frac{m^{\,k+1} - 1}{m - 1} \quad (m \ge 2)1+m+m2+⋯+mk=m−1mk+1−1​(m≥2)

    Trường hợp đặc biệt m = 1: cây là một đường thẳng nên tổng = k + 1.

    Cho m và k, hãy tính tổng số tiến trình trong cây. Dữ liệu đảm bảo kết quả vừa trong unsigned long long.

    Ví dụ I/O: m = 2, k = 3 → 1 + 2 + 4 + 8 = 15.

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

      Hai số nguyên m và k trên một dòng.

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

      1 <= m <= 1000000, 0 <= k <= 63, kết quả vừa unsigned long long

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

      Một số nguyên: tổng số tiến trình trong cây.

    Ví dụ:

    Đầu vào:

    2 3
    

    Đầu ra:

    15

    Giải thích:

    m = 2, k = 3: tổng các mức 2^0 + 2^1 + 2^2 + 2^3 = 1+2+4+8 = 15 tiến trình.

    Đang tải editor...