সমস্যা বিবৃতি
N পূর্ণসংখ্যার একটি অ্যারে arr[] দেওয়া হয়েছে। অ্যারে থেকে সরানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক উপাদান খুঁজে বের করার জন্য আমাদের একটি প্রোগ্রাম লিখতে হবে, যাতে অবশিষ্ট উপাদানের যোগফল সমান হয়।
উদাহরণ
যদি ইনপুট অ্যারে হয় {10, 20, 30, 5} তাহলে অ্যারের যোগফল সমান করতে আমাদের একটি উপাদান যেমন 5 সরিয়ে ফেলতে হবে
অ্যালগরিদম
<পূর্ব>1. জোড় সংখ্যার যেকোনো সংখ্যার যোগফল সবসময়ই জোড় 2 হয়। বিজোড় সংখ্যার বিজোড় সংখ্যার যোগফল সর্বদা odd3 হয়। জোড় সময়ের বিজোড় সংখ্যার যোগফল সর্বদা জোড় 4 হয়। অ্যারেতে বিজোড় উপাদানের সংখ্যা গণনা করুন। যদি অ্যারেতে বিজোড় উপাদানের গণনা জোড় হয়, তাহলে আমাদের অ্যারের থেকে কোনো উপাদান সরাতে হবে না কিন্তু অ্যারের বিজোড় উপাদানের গণনা যদি বিজোড় হয় তাহলে অ্যারে থেকে যে কোনো একটি বিজোড় উপাদান সরিয়ে দিয়েউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getMinRemovals(int *arr, int n) { int cnt =0; জন্য (int i =0; i আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
সর্বনিম্ন প্রয়োজনীয় অপসারণ =1