এই সমস্যায়, আমাদের দুটি সংখ্যা A এবং B দেওয়া হয়েছে। আমাদের কাজ হল বিভাজন ছাড়া দুটি সংখ্যার দ্রুত গড় গণনা করার জন্য একটি প্রোগ্রাম তৈরি করা।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: A =34 B =54
আউটপুট: 44
সমাধান পদ্ধতি:
সাধারণত, গড় গণনা করা হয় দুটি সংখ্যা যোগ করে এবং তারপরে এটিকে 2 দ্বারা ভাগ করে। এর জন্য বিভাজন প্রয়োজন কিন্তু আমাদেরকে বিভাজন ব্যবহার না করে গড় বের করতে হবে। এটি ডান শিফট অপারেটর ব্যবহার করে করা যেতে পারে>> এবং ডিভিশন অপারেটর ব্যবহার না করে বাইনারি সম্প্রসারণ স্থানান্তর করুন।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream>
#include <stdio.h>
using namespace std;
int calcAvgWODiv(int A, int B) {
int average = (A + B) >> 1;
return average;
}
int main() {
int A = 123 , B = 653;
cout<<"The average of the number is "<<calcAvgWODiv(A, B);
return 0;
} আউটপুট −
The average of the number is 388