¬×îÈÝÒ×¹ÀËãd-1ÖµµÄ·½·¨ÊǼÆËã232£¯d¡£È»ºó£¬¾Í¿ÉÒÔ¹ÀËãn£¯dΪ£º
(n(232£¯d))£¯232 (1)
ÔÚÖ´ÐÐnµÄ³Ë·¨Ê±£¬ÐèÒª¾«È·µ½64λ¡£¶ÔÓÚÕâÖÖ·½·¨£¬»á³öÏÖÈçÏÂÎÊÌ⣺
¡óΪÁ˼ÆËã232£¯d£¬ÓÉÓÚÒ»¸öunsigned intÀàÐ͵ÄÊý¾Ý·Å²»ÏÂ232£¬±àÒëÆ÷ҪʹÓÃ64λlong longÀàÐ͵ÄÊý£¬¶øÇÒ±ØÐëÖ¸¶¨³ý·¨Îª(1 ull<<32)£¯d¡£ÕâÖÖ64λµÄ³ý·¨±È32λµÄ³ý·¨Ö´ÐÐÆðÀ´ÒªÂýµÃ¶à¡£
¡óÈç¹ûdÅöÇÉÊÇ1£¬ÄÇô232£¯d¾Í²»ÔÙÊʺÏÓÚun¡ªsigned intÊý¾ÝÀàÐÍ¡£
ÉÏÃæµÄ×ö·¨ËƺõºÜºÃ£¬¶øÇÒ½â¾öÁËÕâÁ½¸öÎÊÌâ¡£ÄÇô£¬ÔÙÀ´¿´Ò»ÏÂÓÃ(232Ò»1)£¯d´úÌæ232£¯d¡£
Áî
s=0xffffffff ul£¯d (2)

ÒÔÉÏn£¯d-2£¬q£¬n£¯d+1ΪÕûÊýÖµ£¬ËùÒԿɵÃq=n£¯d»òq=(n£¯d)Ò»1£¬¼´³õ²½¹À¼ÆµÄ½á¹ûqÓëÕýÈ·Öµn£¯dÓпÉÄÜ´æÔÚÆ«²î1¡£¿ÉÒÔ·¢ÏÖ£¬Í¨¹ý¼ÆËãÓàÊýr=n¡ªq¡¤d(O¡Ür<2d)ÊDZȽÏÈÝÒ׵ġ

¡¾