¬×îÈÝÒ×¹ÀËã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ȽÏÈÝÒ׵ġ