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

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


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

รับอาร์เรย์ 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