คล้ายกับคำตอบของนามแฝงที่ได้รับจากวิธีการอื่น
จำนวนรวมของการอยู่รวมกันพร้อมใช้งานเป็นเรื่องง่ายโดยดาวและบาร์วิธีจึงจะต้องมีการ{n} จำนวนรวมของตัวเลข 64- บิตที่คุณจะลองตัวอย่างตัวเลขของคุณจะสูงกว่านั้นอย่างเห็นได้ชัดc=(64n)
สิ่งที่คุณต้องการแล้วเป็นฟังก์ชันที่สามารถนำคุณจากหมายเลข pseudorandomตั้งแต่เพื่อเพื่อการรวมกัน 64 บิตที่สอดคล้องกันk1c
สามเหลี่ยมของปาสคาลสามารถช่วยคุณได้เพราะค่าของทุกโหนดแสดงถึงจำนวนเส้นทางที่แน่นอนจากโหนดนั้นไปยังรูทของสามเหลี่ยมและทุกเส้นทางสามารถทำเพื่อเป็นตัวแทนของหนึ่งในสตริงที่คุณกำลังมองหาหากเลี้ยวซ้ายทั้งหมด ที่มีป้ายกำกับด้วยและทุกเลี้ยวขวาด้วย010
ดังนั้นให้เป็นจำนวนบิตที่เหลือเพื่อตรวจสอบและคือจำนวนของบิตที่เหลือเพื่อใช้xy
เรารู้ว่าและเราสามารถใช้มันเพื่อกำหนดจำนวนบิตถัดไปอย่างถูกต้อง ในแต่ละขั้นตอน:(xy)=(x−1y)+(x−1y−1)
whilex>0
ifx>y
ifk>(x−1y):s←s+"1",k←k−(x−1y),y←y−1
else:s←s+"0"
else:s←s+"1",y←y−1
x←x−1