Rất giống với câu trả lời của bút danh, có được bằng các phương tiện khác.
Tổng số kết hợp có sẵn có thể tiếp cận được bằng phương pháp sao và thanh , do đó, nó sẽ phải là . Tổng số các số 64 bit mà bạn sẽ cố lấy mẫu số của mình rõ ràng sẽ cao hơn nhiều so với số đó.c = ( 64n)
Những gì bạn cần sau đó là một hàm có thể dẫn bạn từ số giả ngẫu , từ đến , đến tổ hợp 64 bit tương ứng.1 ck1c
Tam giác của Pascal có thể giúp bạn điều đó, bởi vì mọi giá trị của nút thể hiện chính xác số lượng đường dẫn từ nút đó đến gốc của tam giác và mọi đường dẫn có thể được thực hiện để đại diện cho một trong các chuỗi bạn đang tìm kiếm, nếu tất cả các rẽ trái là được gắn nhãn và mỗi lượt rẽ phải có .010
Vì vậy, gọi là số bit còn lại để xác định và là số lượng bit còn lại để sử dụng.yxy
Chúng tôi biết rằng và chúng tôi có thể sử dụng nó để xác định chính xác bit tiếp theo của số ở mỗi bước:( xy) = ( x-1y) + ( x-1y- 1)
w h i l ex > 0
tôi fx > y
tôi fk > ( 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