15
สลับบิตและรับสี่เหลี่ยมจัตุรัส
ได้รับจำนวนเต็มคุณต้องไปหาจำนวนขั้นต่ำของบิตที่จะต้องมีการคว่ำในจะทำให้มันกลายเป็นจำนวนตาราง คุณได้รับอนุญาตให้สลับบิตด้านล่างที่สำคัญที่สุดเท่านั้นNยังไม่มีข้อความ> 3N>3N>3ยังไม่มีข้อความNN ตัวอย่าง ยังไม่มีข้อความ= 4N=4N=4แล้วเป็นจำนวนตาราง ( ) เพื่อการส่งออกที่คาดว่าจะเป็น0 022222^2000 ยังไม่มีข้อความ= 24N=24N=24สามารถเปิดเป็นจำนวนตารางโดย inverting 1 บิต: ( ) เพื่อการส่งออกที่คาดว่าจะเป็น1 25 = 5 2 111000 → 1100 111000→1100111000 \rightarrow 1100\color{red}125 = 5225=5225=5^2111 ยังไม่มีข้อความ= 22N=22N=22ไม่สามารถเปลี่ยนเป็นจำนวนตารางได้โดยแปลงกลับเป็นบิตเดียว (ผลลัพธ์ที่เป็นไปได้คือ , ,และ ) แต่สามารถทำได้โดยสลับกลับ 2 บิต: ( ) เพื่อการส่งออกที่คาดว่าจะเป็น220 18 30 10110 → 10 0 0 0 …