CINTA第二次作业

编程题

一、模指数运算函数

代码如下:

int Mod_Exp(int a, int b, int m)
{
    int res = 1;
    while (b)
    {
        if (b & 1) {
            res = (res * a) % m;
        }
        b >>= 1;
        a = a * a % m;
    }
    return res;
}

二、求乘法逆元函数

代码如下:

def Mul_Inverse(a,m):
   r0,r1,s0,s1 = 1,0,0,1
   while(m):
      q,a,m = a/m,m,a%m
      r0,r1 = r1,r0 - q*r1
      s0,s1 = s1,s0 - q*s1
   return r0

计算题

第一题

在这里插入图片描述

根据费马小定理有,
3 2019 ≡ 3 91 ∗ ( 23 − 1 ) + 17 ≡ 3 17 ( m o d   23 ) ≡ 16 3^{2019}\equiv3^{91*{(23-1)}+17}\equiv3^{17}(mod\ 23)\equiv16 32019391(231)+17317(mod 23)16

第五题

在这里插入图片描述

根据费马小定理,
( 2 70 + 3 70 )   m o d   13 ≡ ( ( 2 70   m o d   13 ) + ( 3 70   m o d   13 ) )   m o d   13 ≡ ( ( 2 ( 13 − 1 ) ∗ 5 + 10   m o d   13 ) + ( 3 ( 13 − 1 ) ∗ 5 + 10   m o d   13 ) ) m o d   13 ≡ ( ( 2 10 m o d   13 ) + ( 3 10 m o d   13 ) ) m o d   13 ≡ ( 10 + 3 ) m o d   13 ≡ 0 (2^{70}+3^{70})\ mod\ 13\equiv((2^{70}\ mod\ 13)+(3^{70}\ mod\ 13))\ mod\ 13\equiv((2^{(13-1)*5+10}\ mod\ 13)+(3^{(13-1)*5+10}\ mod\ 13))mod\ 13\equiv((2^{10}mod\ 13)+(3^{10}mod\ 13))mod\ 13\equiv(10+3)mod\ 13\equiv0 (270+370) mod 13((270 mod 13)+(370 mod 13)) mod 13((2(131)5+10 mod 13)+(3(131)5+10 mod 13))mod 13((210mod 13)+(310mod 13))mod 13(10+3)mod 130
即证得, 13 ∣ 2 70 + 3 70 13|2^{70}+3^{70} 13∣270+370

第六题

在这里插入图片描述

根据欧拉定理, φ ( 55 ) = φ ( 5 ) ∗ φ ( 11 ) = 4 ∗ 10 = 40 根据欧拉定理,\varphi(55)=\varphi(5)*\varphi(11)=4*10=40 根据欧拉定理,φ(55)=φ(5)φ(11)=410=40
g c d ( 2 , 55 ) = 1 gcd(2,55)=1 gcd(2,55)=1
2 100000 m o d   55 ≡ 2 40 ∗ 2500 m o d   55 ≡ ( 2 40 m o d   55 ) 2500 m o d   55 ≡ 1 2^{100000}mod\ 55\equiv2^{40*2500}mod\ 55\equiv(2^{40}mod\ 55)^{2500}mod\ 55\equiv1 2100000mod 552402500mod 55(240mod 55)2500mod 551

第八题

在这里插入图片描述

题目等价于求 : 7 1000 m o d   100 的值 题目等价于求:7^{1000}mod\ 100的值 题目等价于求:71000mod 100的值
g c d ( 7 , 100 ) = 1 gcd(7,100)=1 gcd(7,100)=1
故, 7 φ ( 100 ) ≡ 1   m o d   100 故,7^{\varphi(100)}\equiv1\ mod\ 100 故,7φ(100)1 mod 100
φ ( 100 ) = φ ( 4 ) ∗ φ ( 25 ) = 2 ∗ 20 = 40 \varphi(100)=\varphi(4)*\varphi(25)=2*20=40 φ(100)=φ(4)φ(25)=220=40
即 , 7 40 ≡ 1   m o d   100 即,7^{40}\equiv1\ mod\ 100 ,7401 mod 100
7 1000 m o d   100 = 7 40 ∗ 25 m o d   100 = ( 7 40 m o d   100 ) 25 m o d   100 = 1 7^{1000}mod\ 100=7^{40*25}mod\ 100=(7^{40}mod\ 100)^{25}mod\ 100=1 71000mod 100=74025mod 100=(740mod 100)25mod 100=1
所以, 7 1000 m o d   100 的最后两位为 01 所以,7^{1000}mod\ 100的最后两位为01 所以,71000mod 100的最后两位为01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Day-Bleeds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值