다른 방법으로 얻은 가명과 매우 유사합니다.
별과 막대 방법 으로 사용 가능한 총 조합 수에 접근 할 수 있으므로 이어야 합니다. 숫자를 샘플링하려고 시도하는 총 64 비트 숫자의 수는 분명히 그보다 훨씬 높습니다.c=(64n)
그런 다음 필요한 것은 에서 사이 의 의사 난수 에서 해당 64 비트 조합으로 이어질 수있는 함수입니다 .1 ck1c
파스칼의 삼각형은 모든 노드의 값이 해당 노드에서 삼각형의 루트까지의 경로 수를 정확하게 나타내며 모든 왼쪽 경로가 레이블이 지정 되고 모든 오른쪽 회전은 됩니다.010
따라서 는 결정하기 위해 남겨진 비트 수이고, 사용할 비트 수입니다.yxy
우리는 이라는 것을 알고 있으며이를 사용하여 숫자의 다음 비트를 올바르게 결정할 수 있습니다 각 단계에서 :(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