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

การลบขั้นต่ำเพื่อสร้างผลรวมอาร์เรย์แม้ใน C ++


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

รับอาร์เรย์ arr[] ของจำนวนเต็ม N เราจำเป็นต้องเขียนโปรแกรมเพื่อค้นหาจำนวนองค์ประกอบขั้นต่ำที่ต้องลบออกจากอาร์เรย์ ดังนั้นผลรวมขององค์ประกอบที่เหลือจะเท่ากัน

ตัวอย่าง

หากอาร์เรย์อินพุตคือ {10, 20, 30, 5} เราจำเป็นต้องลบหนึ่งองค์ประกอบเช่น 5 เพื่อให้ผลรวมอาร์เรย์เท่ากัน

อัลกอริทึม

<ก่อน>1. ผลรวมของจำนวนคู่ใดๆ จะเป็นเลขคู่เสมอ2 ผลรวมของเลขคี่ของเลขคี่จะเป็นเลขคี่เสมอ3 ผลรวมของจำนวนคี่ของจำนวนคู่จะเป็นเลขคู่เสมอ4 นับจำนวนองค์ประกอบคี่ในอาร์เรย์ หากจำนวนองค์ประกอบคี่ในอาร์เรย์เป็นเลขคู่ เราก็ไม่จำเป็นต้องลบองค์ประกอบใด ๆ ออกจากอาร์เรย์ แต่ถ้าจำนวนองค์ประกอบคี่ในอาร์เรย์เป็นเลขคี่ ให้ลบองค์ประกอบคี่ตัวใดตัวหนึ่งออกจากอาร์เรย์

ตัวอย่าง

#include ใช้เนมสเปซ std;int getMinRemovals(int *arr, int n) { int cnt =0; สำหรับ (int i =0; i