คำชี้แจงปัญหา
รับอาร์เรย์ arr[] ของจำนวนเต็ม N เราจำเป็นต้องเขียนโปรแกรมเพื่อค้นหาจำนวนองค์ประกอบขั้นต่ำที่ต้องลบออกจากอาร์เรย์ ดังนั้นผลรวมขององค์ประกอบที่เหลือจะเป็นเลขคี่
ตัวอย่าง
หากอาร์เรย์อินพุตเป็น {10, 20, 30, 5, 7} เราจำเป็นต้องลบหนึ่งองค์ประกอบเช่น 5 หรือ 7 เพื่อให้ผลรวมอาร์เรย์เป็นเลขคี่
อัลกอริทึม
<ก่อน>1. ผลรวมของจำนวนคู่ใดๆ จะเป็นเลขคู่เสมอ2 ผลรวมของเลขคี่ของเลขคี่จะเป็นเลขคี่เสมอ3 ผลรวมของจำนวนคี่ของจำนวนคู่จะเป็นเลขคู่เสมอ4 นับจำนวนองค์ประกอบคี่ในอาร์เรย์ หากจำนวนองค์ประกอบคี่ในอาร์เรย์เป็นเลขคู่ เราจำเป็นต้องลบองค์ประกอบเดียวออกจากอาร์เรย์ แต่ถ้าจำนวนองค์ประกอบคี่ในอาร์เรย์เป็นเลขคี่ ก็ไม่จำเป็นต้องลบองค์ประกอบใดๆตัวอย่าง
#includeใช้เนมสเปซ std;int getMinRemovals(int *arr, int n) { int cnt =0; สำหรับ (int i =0; i เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ดังต่อไปนี้
ผลลัพธ์
การลบที่จำเป็นขั้นต่ำ =1