এই সমস্যায়, আমাদের দুটি সংখ্যা 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