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

จำนวนคู่ขั้นต่ำและสูงสุดใน m ทีมจาก n คนใน C++


คำชี้แจงปัญหา

ไม่มี ผู้เข้าร่วมการแข่งขันแบ่งออกเป็น M ทีมในลักษณะใดลักษณะหนึ่งเพื่อให้แต่ละทีมมีผู้เข้าร่วมอย่างน้อยหนึ่งคน หลังจากการแข่งขันผู้เข้าร่วมแต่ละคู่จากทีมเดียวกันก็กลายเป็นเพื่อนกัน

งานของคุณคือเขียนโปรแกรมที่จะหาคู่ขั้นต่ำและจำนวนสูงสุดของเพื่อนที่อาจเกิดขึ้นได้เมื่อสิ้นสุดการแข่งขัน

อัลกอริทึม

<ก่อน>1. เราสามารถรับคู่สูงสุดโดยใช้สูตรด้านล่าง:maxPairs =((n – m) * (n – m + 1)) / 22 เราสามารถหาคู่ขั้นต่ำได้โดยใช้สูตรด้านล่าง:minPairs =m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) % m);

ตัวอย่าง

#include #include ใช้เนมสเปซ std;void getPairs(int n, int m){ int maxPairs =((n - m + 1) * (n - m)) / 2; int minPairs =m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m ) % เมตร); cout <<"คู่ขั้นต่ำ =" < 

ผลลัพธ์

เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ดังต่อไปนี้−

คู่ขั้นต่ำ =1คู่สูงสุด =1