编程题:
1、写一个模指数运算函数Mod_Exp,输入a、b和m,输出a^b mod m,即a的b次方模m。
2、写一个求乘法逆元的函数Mul_Inverse,输入a和m,求a模m的乘法逆元。提示,要求只输出正整数。
计算题:
第四章习题:1、5、6、8
-
a 2019 m o d 23 = ( a 22 ∗ 91 ∗ a 17 ) m o d 23 = a 17 m o d 23 a^{2019}mod23=(a^{22*91}*a^{17})mod23=a^{17}mod23 a2019mod23=(a22∗91∗a17)mod23=a17mod23
3 17 m o d 23 = ( 3 ∗ 9 8 ) m o d 23 = ( 3 ∗ 8 1 4 ) m o d 23 = ( 3 ∗ 1 2 4 ) m o d 23 = ( 3 ∗ 14 4 2 ) m o d 23 = ( 3 ∗ 6 2 ) m o d 23 = 108 m o d 23 = 16 3^{17}mod23=(3*9^{8})mod23=(3*81^{4})mod23=(3*12^{4})mod23=(3*144^{2})mod23=(3*6^{2})mod23=108mod23=16 317mod23=(3∗98)mod23=(3∗814)mod23=(3∗124)mod23=(3∗1442)mod23=(3∗62)mod23=108mod23=16 -
2 70 m o d 13 = ( 2 12 ∗ 5 ∗ 2 10 ) m o d 13 = 2 10 m o d 13 = 3 2 2 m o d 13 = 6 2 m o d 13 = 36 m o d 13 2^{70}mod13=(2^{12*5}*2^{10})mod13=2^{10}mod13=32^{2}mod13=6^{2}mod13=36mod13 270mod13=(212∗5∗210)mod13=210mod13=322mod13=62mod13=36mod13
同理 3 70 m o d 13 = 3 10 m o d 13 = 24 3 2 m o d 13 = 9 2 m o d 13 = 81 m o d 13 3^{70}mod13=3^{10}mod13=243^{2}mod13=9^{2}mod13=81mod13 370mod13=310mod13=2432mod13=92mod13=81mod13
所以 ( 2 70 + 3 70 ) m o d 13 = ( 36 + 81 ) m o d 13 = 117 m o d 13 = 0 (2^{70}+3^{70})mod13=(36+81)mod13=117mod13=0 (270+370)mod13=(36+81)mod13=117mod13=0 -
大于等于1且小于55又与55互素的数有40个, 2 100000 m o d 55 = ( 2 40 ∗ 2500 ) m o d 55 = 1 m o d 55 = 1 2^{100000}mod55=(2^{40*2500})mod55=1mod55=1 2100000mod55=(240∗2500)mod55=1mod55=1
-
有定理4.4,100可以表示为 2 2 ∗ 5 2 2^{2}*5^{2} 22∗52,所以 ϕ ( 100 ) = 100 ∗ 1 / 2 ∗ ( 1 − 1 / 5 ) = 40 \phi(100)=100*1/2*(1-1/5)=40 ϕ(100)=100∗1/2∗(1−1/5)=40,所以 7 1000 m o d 100 = 7 40 ∗ 25 m o d 100 = 1 7^{1000}mod100=7^{40*25}mod100=1 71000mod100=740∗25mod100=1,所以是01