আমাদেরকে একটি পূর্ণসংখ্যা দেওয়া হয়েছে, ধরা যাক, x এবং কাজটি হল x এর চেয়ে ছোট সংখ্যাগুলি গণনা করা যার X-এর সাথে x এর ফলে XOR মানের থেকে একটি মান বেশি হবে।
XOR অপারেশনের জন্য সত্য সারণী নীচে দেওয়া হল
A | B | A XOR B |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
ইনপুট − int x =11
আউটপুট − ছোট মানের সংখ্যা যার XOR-এর সাথে x x-এর চেয়ে বড় −4
ব্যাখ্যা −
আমাদের x এর সাথে 11 দেওয়া হয়েছে যার অর্থ আমাদের x এর চেয়ে কম সংখ্যা সহ x এর XOR বের করতে হবে। সুতরাং সংখ্যাগুলি হল 1 XOR 11 <11(FALSE), 2 XOR 11 <11(FALSE), 3 XOR 11 <11(FALSE), 4 XOR 11> 11(TRUE), 5 XOR 11> 11(TRUE), 6 XOR 11> 11(TRUE), 7 XOR 11> 11(TRUE), 8 XOR 11<11(FALSE), 9 XOR 11 <11(FALSE), 10 XOR 11 <11(FALSE)।
ইনপুট -:int x =12
আউটপুট − ছোট মানের সংখ্যা যার XOR-এর সাথে x x-এর চেয়ে বড় −11
ব্যাখ্যা −
আমাদের x এর সাথে 12 দেওয়া হয়েছে যার অর্থ আমাদের x এর চেয়ে কম সংখ্যা সহ x এর XOR বের করতে হবে। সুতরাং সংখ্যাগুলি হল 1 XOR 12> 12(TRUE), 2 XOR 12> 12(TRUE), 3 XOR 12> 12(TRUE), 4 XOR 12 <12(FALSE), 5 XOR 12 <12(FALSE), 6 XOR 12 <12(FALSE), 7 XOR 12<12(FALSE), 8 XOR 12<12(FALSE), 9 XOR 12 <12(FALSE), 10 XOR 12 <12(FALSE), 11 XOR 12 <12( মিথ্যা)।
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
-
একটি পূর্ণসংখ্যা উপাদান ইনপুট করুন এবং x নামে একটি ভেরিয়েবলে সংরক্ষণ করুন।
-
আরও প্রক্রিয়াকরণের জন্য num-এর মান ফাংশনে পাস করুন
-
ফলাফল সংরক্ষণ করার জন্য একটি অস্থায়ী পরিবর্তনশীল গণনা তৈরি করুন এবং num নামে একটি ভেরিয়েবল সেট করুন এবং এটি 1 এ সেট করুন।
-
x!=0
পর্যন্ত লুপ শুরু করুন -
লুপের ভিতরে, IF x%2 ==0 চেক করুন তারপর গণনাটি গণনা + সংখ্যা হিসাবে সেট করুন
-
num কে num * 2 এবং x হিসাবে x / 2
সেট করুন -
গণনা ফেরত দিন
-
ফলাফল প্রিন্ট করুন
উদাহরণ
#include using namespace std; int XOR_smaller(int x){ int count = 0; int num = 1; while (x != 0){ if (x%2 == 0){ count = count + num; } num = num*2; x = x/2; } return count; } int main(){ int x = 20; cout<<"Count of smaller values whose XOR with x is greater than x are: "<<XOR_smaller(x); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of smaller values whose XOR with x is greater than x are: 11