Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Ống dẫn và Bể chứa (Pipes and Cisterns) trong C++


Bài toán ống dẫn và bể chứa là một bài toán rất phổ biến và thường xuất hiện trong các kỳ thi cạnh tranh. Vì vậy, việc học các câu hỏi liên quan đến ống dẫn và bể chứa là quan trọng và bạn nên biết cách giải quyết chúng vì chúng không quá khó.

Ống dẫn và bể chứa

Các bài toán này liên quan đến ống dẫn được dùng để lấp đầy hoặc làm rỗng một bể/đài chứa nước.

Dưới đây là một số kiến thức cơ bản về bài toán ống dẫn và bể chứa:

  • Các ống dẫn là ống dẫn vào (inlet) hoặc ống dẫn ra (outlet). Ống dẫn vào lấp đầy bể, ống dẫn ra làm rỗng bể.

  • Nếu một ống lấp đầy/làm rỗng trong 'n' giờ và dung tích bể là 'c' lít. Thì trong 1 giờ nó sẽ lấp đầy/làm rỗng c/n lít.

  • Nếu có một số ống lấp đầy bể và một số ống làm rỗng bể. Cùng nhau chúng sẽ hoạt động như sau:

    1 giờ = Σ (c/fi) - Σ (c/ej)

    Ở đây, fi là thời gian ống thứ i lấp đầy bể, ej là thời gian ống thứ j làm rỗng bể.

    Dấu của phép tính này sẽ cho thấy kết quả cuối cùng của tất cả ống. Dương sẽ lấp đầy bể, âm sẽ làm rỗng bể.

Bây giờ, hãy giải một số bài toán để hiểu rõ hơn chủ đề:

Câu hỏi 1

Hai ống lấp đầy bể riêng biệt trong 6 giờ và 4 giờ. Nếu mở cả hai cùng lúc, bao lâu sẽ lấp đầy bể?

Giải pháp

Phần bể được lấp đầy bởi ống A trong 1 giờ = 1/6.

Phần bể được lấp đầy bởi ống B trong 1 giờ = 1/4.

Phần bể được lấp đầy bởi A và B cùng nhau trong 1 giờ = 1/6 + 1/4 = 5/12.

Thời gian cần thiết để lấp đầy bể bởi cả A và B là 12/5 giờ.

Câu hỏi 2

Có 3 ống trong bể, trong đó 2 ống lấp đầy bể riêng biệt trong 10 giờ và 15 giờ. Ống thứ 3 làm rỗng bể trong 12 giờ.

Nếu mở cả 3 ống cùng lúc, bao lâu sẽ lấp đầy/bỏ rỗng bể?

Giải pháp

Phần bể được lấp đầy bởi ống A trong 1 giờ = 1/10.

Phần bể được lấp đầy bởi ống B trong 1 giờ = 1/15.

Phần bể bị làm rỗng bởi ống C trong 1 giờ = 1/12.

Phần bể được lấp đầy/làm rỗng bởi A, B, C cùng nhau trong 1 giờ = 1/10 + 1/15 - 1/12 = 5/60 = 1/12.

Bể sẽ được lấp đầy vì dấu dương.

Thời gian để lấp đầy bể là 12 giờ.

Câu hỏi 3

Có 2 ống dẫn vào trong bể. Cả hai cùng làm việc lấp đầy bể trong 6 giờ. Khi làm việc riêng, ống 1 mất ít hơn 5 giờ so với ống 2. Hỏi ống 2 lấp đầy bể riêng bao lâu?

Giải pháp

Gọi thời gian ống 1 là t giờ.

Thời gian ống 2 là t+5 giờ.

Phần bể ống 1 lấp đầy 1 giờ = 1/t

Phần bể ống 2 lấp đầy 1 giờ = 1/(t+5)

Phần bể cả hai cùng lấp đầy 1 giờ = 1/t + 1/(t+5) = (2t+5)/t*(t+5)

Cả hai cùng lấp đầy bể trong 6 giờ.

(2t+5)/t*(t+5) = 1/6 
12t + 30 = t2 + 5t 
0 = t2 + 5t - 12t - 30 
t2 - 7t - 30 = 0 
t2 - 10t + 3t - 30 = 0 
t(t - 10) + 3(t - 10) = 0 
(t + 3)(t - 10) = 0 
t = 10 giờ

Thời gian ống 1 là 10 giờ

Thời gian ống 2 là 15 giờ

Câu hỏi 4

Có 3 ống A, B, C. A lấp đầy bể trong 5 giờ, B trong 15 giờ, C làm rỗng bể. Nếu mở cả 3 cùng lúc, mất thêm 15 phút so với chỉ mở A và B. Tìm thời gian C làm rỗng bể.

Giải pháp

Dung tích bể là BCNN(5,15) = 15 đơn vị.

Hiệu suất ống A = 3 đơn vị/giờ

Hiệu suất ống B = 1 đơn vị/giờ

Hiệu suất A+B = 4 đơn vị/giờ

Thời gian A và B lấp đầy bể = 15/4 = 3 giờ 45 phút.

Thời gian lấp đầy bể khi mở cả 3 = 3 giờ 45 phút + 15 phút = 4 giờ.

Hiệu suất tổng = 15/4 = 3.75 đơn vị/giờ

Hiệu suất ống C = Hiệu suất A+B - Hiệu suất tổng = 0.25 đơn vị/giờ.

Thời gian ống C = 15/0.25 = 60 giờ (sửa lại: 15/0.25 = 60 giờ, nhưng bài gốc viết 3 giờ 45 phút - có vẻ sai tính toán).