Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ท่อและถังน้ำใน C++


ปัญหาท่อและถังน้ำเป็นปัญหาที่พบบ่อยมากและมักรวมอยู่ในการสอบแข่งขัน ดังนั้นการเรียนรู้คำถามเกี่ยวกับ pipers และ ถังน้ำ เป็นสิ่งสำคัญและคุณควรทราบวิธีแก้ปัญหาเนื่องจากไม่ยากที่จะเรียนรู้

ท่อและถังเก็บน้ำ

ปัญหาเหล่านี้เกี่ยวข้องกับท่อที่ใช้ในการเติมหรือล้างถัง/อ่างเก็บน้ำ/ถังเก็บน้ำ

ต่อไปนี้เป็นข้อมูลเบื้องต้นเกี่ยวกับ ท่อ และ ถังน้ำ ปัญหา

  • ท่อเป็นท่อทางเข้าหรือท่อทางออก ท่อเข้าเติมถังและท่อออกจะทำให้ถังว่างเปล่า

  • หากท่อเติม/ว่างเปล่าใน 'n' ชั่วโมงและความจุของถังคือ 'c' ลิตร จากนั้นใน 1 ชั่วโมงจะทำให้ c/n ลิตรหมด

  • ทีนี้ หากมีท่อเติมน้ำมันในถังและท่อบางท่อจะถ่ายเทออกจากถัง พวกเขาจะทำงานร่วมกันในลักษณะต่อไปนี้

    1 ชม. =Σ (c/fi) - Σ (c/ej )

    ที่นี่ fi คือเวลาที่ท่อ ith ใช้ในการเติมถังและ ej คือเวลาที่ใช้โดย j th ท่อต่อเติมถัง

    เครื่องหมายของการคำนวณนี้จะแสดงผลสุดท้ายของท่อทั้งหมด ค่าบวกจะเติมลงในถัง และค่าลบจะทำให้ถังว่างเปล่า

ตอนนี้ มาแก้ปัญหาบางอย่างที่จะช่วยให้เข้าใจหัวข้อได้ดีขึ้น

คำถามที่ 1

หากสองท่อเติมถังแยกกันใน 6 ชั่วโมงและ 4 ชั่วโมง เมื่อเปิดพร้อมกันจะเติมถังกันกี่โมง

วิธีแก้ปัญหา

ส่วนหนึ่งของถังที่เติมด้วยท่อ A ในหนึ่งชั่วโมง =1/6.

ส่วนหนึ่งของถังเติมด้วยท่อ B ในหนึ่งชั่วโมง =1/4.

ส่วนหนึ่งของถังเติมด้วยท่อ A และ B พร้อมกันในหนึ่งชั่วโมง =1/6 + 1/4 =5/12

เวลาที่ต้องใช้ในการเติมถังทั้ง A และ B คือ 12/5 ชั่วโมง

คำถามที่ 2

มีท่อ 3 ท่อในถัง จากสองท่อนี้ที่เติมถังใน 10 ชั่วโมงและ 15 ชั่วโมงแยกกัน และประการที่สาม ล้างถังใน 12 ชั่วโมง

ถ้าเปิดทั้ง 3 ท่อพร้อมกัน เมื่อไหร่จะเต็มถังจึงจะเต็ม/ว่างเปล่า?

วิธีแก้ปัญหา

ส่วนหนึ่งของถังที่เติมด้วยท่อ A ในหนึ่งชั่วโมง =1/10

ส่วนหนึ่งของถังที่เติมด้วยท่อ B ในหนึ่งชั่วโมง =1/15

ส่วนหนึ่งของถังเททิ้งโดยท่อ C ในหนึ่งชั่วโมง =1/12

ส่วนหนึ่งของการเติม/เทถังโดยท่อ A และ B และ C พร้อมกันในหนึ่งชั่วโมง =1/10 + 1/15 - 1/12 =5/60 =1/12

ถังจะเต็มเมื่อเครื่องหมายเป็นบวก

ใช้เวลาในการเติมถัง 12 ชั่วโมง

คำถามที่ 3

มีท่อเข้า 2 ท่อในถัง ท่อทั้งสองทำงานร่วมกันเพื่อเติมถังใน 6 ชั่วโมง ทำงานคนเดียวท่อใช้เวลาน้อยกว่า 5 ชั่วโมงในการเติมถัง ท่อ2จะเต็มถังไปกี่คันครับ

วิธีแก้ปัญหา

ให้เวลาที่ใช้โดยท่อหนึ่งคือ t ชั่วโมง.

เวลาที่ใช้โดยท่อที่สองคือ t+5 ชั่วโมง.

ส่วนหนึ่งของถังที่เติมด้วยท่อในหนึ่งชั่วโมง =1/t

ส่วนหนึ่งของถังที่เติมด้วยท่อสองในหนึ่งชั่วโมง =1/(t+5)

ส่วนหนึ่งของถังที่เติมด้วยท่อหนึ่งและสองเข้าด้วยกันในหนึ่งชั่วโมง =1/t + 1/(t+5) =(2t+5)/t*(t+5)

ท่อทั้งสองจะเต็มถังพร้อมกันใน 6 ชั่วโมง

(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 hours

เวลาที่ใช้โดยท่อที่หนึ่งคือ 10 ชั่วโมง

เวลาที่ใช้โดยท่อที่สองคือ 15 ชั่วโมง

คำถามที่ 4

มีสามท่อ A, B และ C. A เติมถังใน 5 ชั่วโมง, B เติมถังใน 15 ชั่วโมง และถังที่สามล้างถัง หากทั้งสามเปิดพร้อมกัน จะใช้เวลาเพิ่มอีก 15 นาที เมื่อเทียบกับ A และ B เปิดพร้อมกัน C ใช้เวลาในการล้างถังเป็นเท่าใด

วิธีแก้ปัญหา

ความจุถัง LCM(5,15) =15 หน่วย

ประสิทธิภาพของท่อ A =3 หน่วย/ชม.

ประสิทธิภาพของท่อ B =1 หน่วย/ชม.

ประสิทธิภาพของท่อ A+B =4 หน่วย/ชม.

A และ B ใช้เวลาในการเติมถัง =15/4 =3 ชั่วโมง 45 นาที

ใช้เวลาในการเติมถังเมื่อท่อทั้งหมดเปิด =3 ชั่วโมง 45 นาที + 15 นาที =4 ชั่วโมง

ประสิทธิภาพทั้งหมดคือ 15/4 =3.75 หน่วยต่อชั่วโมง

ประสิทธิภาพของท่อ C =ประสิทธิภาพของท่อ A+B - ประสิทธิภาพทั้งหมด =0.25 หน่วยต่อชั่วโมง

เวลาที่ใช้โดย C =15*0.25 =3 ชั่วโมง 45 นาที