¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԸùÓëÀëÉ¢¶ÔÊý
¶ÔÓÚ·½·¨PMMLCGs£¬ÓÉÓÚ²»ÄÜÑ¡2bΪ죬Òò¶ø²»ÄÜÔËÓÃÒç³öµÄ»úÀíÈ¥Ó°Ïì³ý·¨µÄÄ£m¡£Õë¶Ô´ËÇé¿ö£¬Payne¡¢RabungºÍBogyoµÈÈËÌá³öÁËÒ»ÖÖ±ÜÃâÃ÷ÏÔ³ý·¨£¬ÔËÓÃÒç³öÔÀíµÄ·½·¨¡ª¡ªÄ£Äâ³ý·¨¡£ ÓÉ
Xn?aXn?1?mod2b?Öª
?aXn?1?k??2b?Xn?aXn?1?k2b£¬??
??Áî Èô Èô
yn?Xn?kq?a?n?2bk1X?
qXn?kq?2b?£¬Ôòq
yn?aXn?1?modb2?q?
Xn?kq?2b?£¬ÔòÁîq
yn?Xn?kq?k?2b?q??aXn?1??k?1??2b?q??aXn?1?mod2b?q?
byn??m?2?qʱµÄËæ»úÐòÁУ¬²¢ÇÒ×ñ´ÓÔÔò ÊýÁÐÌṩÁË
b??Xn?kq,ÈôXn?kq?2?qyn??bb??Xn?kq?q?2,ÈôXn?kq?2?q
ʽÖÐXn¿ÉÓÉÒÆÄ£¼õÊý¶øµÃ¡£
PMMLCGsµÄʵ¼ÊÓÃÀý£ºb£½35£¬Ð¡ÓÚ235µÄ×î´óËØÊýΪ
m?235?31£½34359738337£¬ÇÒa?55ʱ£½3125£¬Éú³ÉµÄËæ»úÊý
31¾ßÓнϺõÄÌØÐÔ£»¶ÔÓÚb£½35£¬Ð¡ÓÚ231µÄ×î´óËØÊýΪm?2?1a1?7£½2147483647£¬ÇÒÁ½Öֵõ½¹ã·ºÓ¦ÓõĹØÓÚµÄaÑ¡ÔñΪ£º
£½16807ºÍa2£½630360016¡£
5£¨3£©Fibonacci·¨
´Ë·½·¨Êǽ¨Á¢ÔÚFibonacci£¨ì³²¨ÄÇÆõ£©ÊýÁеĻù´¡ÉÏ£¬ÆäµÝ¹é¹«Ê½Îª
Xn+1?Xn+Xn?1?modm?£¬ n£½1, 2, ¡
Fibonacci·¨ÐèÒªÁ½¸ö³õÖµX0ºÍX1¡£ÆäµÃµ½µÄÖÜÆÚÓпÉÄÜ´óÓÚm£¬µ«ËüËùÉú³ÉµÄÐòÁеÄËæ»úÐԽϲ¹Ê²»ÄÜÌṩÂúÒâµÄ½á¹û¡£
£¨4£©¶þ´ÎͬÓà·¨
49/58
¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԸùÓëÀëÉ¢¶ÔÊý
ÓÉCoveyonÌá³öµÄ¶þ´ÎͬÓà·¨½üËÆÏ൱ÓÚË«¾«¶ÈµÄÖÐ¼äÆ½·½·¨£¬µ«È´±ÈºóÕßÓнϳ¤µÄÖÜÆÚ¡£ÆäµÝ¹é¹«Ê½Îª
2Xn?aXn?1+?Xn?1?c??modm?£¬ n£½1, 2, ¡
5. 6. 4 Ò»ÖÖ¿ìËÙ¸µÀïÒ¶±ä»»Ëã·¨
?F0??x0??????F1??x1??T?¡¾¶¨Òå6.6.1¡¿ÀëÉ¢¸µÀïÒ¶±ä»»£¨DFT£©£º? ?????????F??x??N?1??N?1??W0?0W0?1?W1?1?W1?02?1Fourier±ä»»¾ØÕóT??W2?0W??????N?1??0?N?1??1WW??????W0??N?1)???1??N?1?W? W2??N?1??????N?1???N?1??W?11?1?W2?1W£½?1W2W4??????1WN?1W2?N?1??W?e?2?iN???????N?1W?W2?N?1??£¬
????N?1?2?W?£¬i12?2??cos?isinNN??1
Áí·¨±íʾ£º
N?1Fk??N?1?knkk2kxW?x?xW?xW???xW ?nN01N2NN?1Nn?022ÔËËãÁ¿£ºN´Î¸´Êý³Ë·¨ºÍN´Î¸´Êý¼Ó·¨ ¡¾¶¨Òå6.6.2¡¿Éè
50/58
¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԸùÓëÀëÉ¢¶ÔÊý
a0,a1,?,aN?1,?ºÍb0,b1,?,bN?1,?
ÊÇÁ½¸öÖÜÆÚΪNµÄÐòÁУ¬Æä»¥Ïà¹Øº¯Êý¶¨ÒåΪ
B?k???aibi?ki?0N?1£¬k£½0, 1, 2, ¡, N?1
¡¾¶¨Àí6.6.2¡¿ÉèN?pÊÇÒ»¸öÆæËØÊý£¬Ôòʽ£¨5.6.1£©¿É»¯ÎªÁ½¸öÖÜÆÚΪp?1µÄÐòÁеĻ¥Ïà¹Øº¯Êý£¬ºÍ2?p?1?´Î¼Ó·¨À´¼ÆËã¡£
£¨Ö¤£©ÉèN?p
nkFk???xnWNn?1p?1£¬k£½1, 2, ¡, p?1 £¨5.6.2£©
ÔòÓÐ
F0??xnn?0p?1£¬Fk?x0?Fk?£¬k£½1, 2, ¡, p?1 £¨5.6.3£©
sÓÖÉègÊÇpµÄÒ»¸öÔ¸ù£¬Ôò1, 2, ¡, p?1¿É±íΪ?g»¯Îª
qF???xstWp??g?g?p?£¨s£½0,
psp?2g1, ¡, £©£¬¼´³ýÒÔpµÄ×îС·Ç¸ºÓàÊý£¬ÓÚÊÇʽ£¨5.6.2£©
p?2t?0s?tp£¬s£½0, 1, ¡, p?2 £¨5.6.4£©
ÓÉÓÚgÊÇÔ¸ù£¬ËùÒÔʽ£¨5.6.4£©ÊÇÁ½¸öÖÜÆÚΪp?1µÄÐòÁÐ
au?x?gu?p£¨
u£½0, 1, ¡£©ºÍav?W£¨v£½0, 1, ¡£©µÄ»¥Ïà
¡£
?qvp¹Øº¯Êý£¬ÔÙÓÉʽ£¨5.6.3£©µÄ2?p?1?´Î¼Ó·¨¸ø³öÈ«²¿
F0,F1,?£¬Fp?1?pͬÀí£¬¶ÔÓÚN?pºÍ2£¨pÊÇÒ»¸öÆæËØÊý£©£¬Ò²ÓÐÀà
ËÆµÄ½á¹û¡£
5. 6. 5 ͬÓà·½³ÌµÄÇó½â
¡¾Àý6.6.3¡¿½âͬÓà·½³Ì16x¡Ô9£¨mod 41£©¡£
51/58
¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԸùÓëÀëÉ¢¶ÔÊý
£¨½â£©´Ë´¦ÀûÓÃÀëÉ¢¶ÔÊýÇó½â¡£ÒÑÖª6ÊÇ41µÄÔ¸ù£¬¹Ê¶Ô·½³ÌÁ½±ßÈ¡ÒÔ6Ϊµ×µÄ¶ÔÊý£¬ÓÐ
dlog41,616x?dlog41,69?mod??41??40? ÔÙÓɶ¨Àí6.3.2£¬·½³Ì¿É±íΪ
dlog41,616?dlog41,6x?dlog41,69?mod40?
²éÀëÉ¢¶ÔÊýº¯Êý±í6.3.4ÓÐdlog41,616?24?mod40?£¬
dlog41,69?30?mod40?£¬´úÈëÉÏʽµÃ
24£«dlog41,6x?30?mod40? ¡à dlog41,6x?6?mod40?
ÔÙ²éÖ¸Êýº¯Êý±í6.3.3µÃx¡Ô39£¨mod 41£©¡£ËùÒÔÔ·½³ÌµÄ½âΪ
x¡Ô39£¨mod 41£©
ÀûÓÃÀëÉ¢¶ÔÊý»¹¿ÉÒÔ½âÃÝͬÓà·½³Ì
ax?b?modm?£¬?b,m?£½1 £¨6.6.5£©
ÆäÖÐmÓÐÔ¸ùg¡£
¡¾¶¨Àí6.6.3¡¿ÉèÕûÊým£¾1£¬ÆäÔ¸ùΪg¡£ÄÇô£¬ÃÝͬÓà·½³Ì£¨6.6.5£©ÓнâµÄ³ä·Ö±ØÒªÌõ¼þÊÇ
???m?,dlogm,ga?dlogm,gb £¨6.6.6£©
¼Çd????m?,dlogm,ga?£¬Èç¹û·½³ÌÓн⣬ÔòÆä½âÊýΪ
T?ax?b;m??d
Æäͨ½âΪ
x?x0???m?dt?mod??m??£¬t?0,1£¬?,d?1
£¨Ö¤£©ÓÉÓÚmÓÐÔ¸ùg£¬¹ÊµÈʽ£¨6.6.5£©Á½±ßÕë¶ÔÄ£ÊýmÈ¡ÒÔgΪµ×µÄ¶ÔÊý£¬ÓÐ
xdlogm,ga?dlogm,gb?mod??m?? £¨6.6.7£© ÏÔÈ»ÃÝͬÓà·½³Ì£¨6.6.5£©ÓëÒ»´ÎͬÓà·½³Ì£¨6.6.7£©Í¬Ê±Óнâ»òÎ޽⣬ÇÒ½âÊýÒ²Ïàͬ¡£
¶ø·½³Ì£¨6.6.7£©ÎªÒ»´ÎͬÓà·½³Ì£¬¹ÊÓɶ¨Àí4.4.2¿ÉÍÆµ¼³ö±¾¶¨ÀíµÄËùÓнáÂÛ¡£
¡¾Àý6.6.4¡¿ÅжÏÃÝͬÓà·½³Ì10x¡Ô2£¨mod 17£©ÊÇ·ñÓн⣬
52/58