<pre> <code>def gray_code(n): return n ^ (n >> 1) </code> </pre> <p>كود غراي (Gray Code): الإزاحة الدائرية و XOR</p>
C++
Hard
loops
مهمة «<pre> <code>def gray_code(n): return n ^ (n >> 1) </code> </pre> <p>كود غراي (Gray Code): الإزاحة الدائرية و XOR</p>»
<div>عدد صحيح N (1 ≤ N ≤ 20). قم بتوليد تسلسل من 2^N عدد يمثل كود غراي للأعداد من 0 إلى 2^N-1. ثم لكل عدد في هذا التسلسل، قم بإجراء إزاحة دائرية لتمثيله الثنائي إلى اليمين بمقدار 1 بت وقم بتطبيق عملية XOR مع العدد الأصلي. اطبع القيم الناتجة بترتيب تصاعدي للأعداد الأصلية. استخدم فقط الحلقات والعمليات البتية، مع تجنب الاستدعاء الذاتي.</div>
تنسيق الإدخال
عدد صحيح واحد N (1 ≤ N ≤ 20).
تنسيق الإخراج
<p>2^N عددًا صحيحًا، مفصولة بمسافات، كل منها في سطر جديد.</p>
أمثلة
مثال 1
الإدخال
3
1 2 3
4 5 6
7 8 9
الإخراج
15
مثال 2
الإدخال
1 5
الإخراج
1 2 4 8 16
مثال 3
الإدخال
5
1 2 3 4 5
2 3
الإخراج
12
مثال 4
الإدخال
3
الإخراج
1
0
0
2
0
4
4
6
main.cpp