模(mod)运算的公式和法则

定义:

对于任意实数x、y都有:

   xmody=x-y  \left [\frac{x}{y} \right ],y\neq 0

其中\left [ \right ]是向下取整的意思在c语言中可以使用floor函数来达到此目的;

floor函数用法;

模的运算法则;

1.(a+b)%p=(a%p+b%p)%p

2.(a-b)%p=(a%p-b%p)%p

3.(a*b)%p=(a%p*b%p)%p

4.a^{b}%p=((a%p)^b)%p

(除法例外)

模运算满足结合律、交换律、分配率,具体如下:

A. 结合律

((a+b)%p+c)%p=(a+(b+c)%p)%p

((a*b)%p * c)%p= (a * (b*c)%p)%p

B. 交换律

(a+b)%p=(b+a)%p

(a*b)%p=(b*a)%p

C. 分配率

(a+b)%p=(a%p+b%p)%p

((a+b)%p*c)%p = ( (a*c)%p + (b*c)%p )%p

其中的证明过程:

 要证明 (a+b)%p=(a%p+b%p)%p,我们需要先证明 a%p+b%p 的值在模 p 的意义下等于 a+b 的值在模 p 的意义下。

设 a mod p = x,b mod p = y,
那么: a = x + kp b = y + lp 其中 k 和 l 是任意整数
所以,a+b = x+kp + y+lp = (x+y) + (k+l)p
所以,(a+b) mod p = (x+y) mod p
而 a%p + b%p = x + y
所以在模 p 的意义下,(a+b)%p = (a%p+b%p)%p

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,我们需要将11413转化为二进制数,得到的结果为10110001101101。 接下来,我们将这个二进制数从右往左依次标记为0~12。 我们需要先计算出$2^0\mod 11413$,得到的结果是1。 然后,我们计算$2^1\mod 11413$,得到的结果是2。 接着,我们计算$2^2\mod 11413$,得到的结果是4。 我们继续计算$2^3\mod 11413$,得到的结果是8。 然后,我们计算$2^4\mod 11413$,得到的结果是16,但因为16已经超过了11413,所以我们需要将它减去11413,得到的结果是16-11413=-11397。 接着,我们计算$2^5\mod 11413$,得到的结果是-11397*2=-22794,但因为-22794是负数,所以我们需要将它加上11413得到正数,得到的结果是-22794+11413=-11381。 然后,我们计算$2^6\mod 11413$,得到的结果是-11381*2=-22762,同样需要将其加上11413得到正数,得到的结果是-22762+11413=-11349。 接着,我们计算$2^7\mod 11413$,得到的结果是-11349*2=-22698,同样需要将其加上11413得到正数,得到的结果是-22698+11413=-11285。 然后,我们计算$2^8\mod 11413$,得到的结果是-11285*2=-22570,同样需要将其加上11413得到正数,得到的结果是-22570+11413=-11157。 接着,我们计算$2^9\mod 11413$,得到的结果是-11157*2=-22314,同样需要将其加上11413得到正数,得到的结果是-22314+11413=-10901。 然后,我们计算$2^{10}\mod 11413$,得到的结果是-10901*2=-21802,同样需要将其加上11413得到正数,得到的结果是-21802+11413=-10389。 接着,我们计算$2^{11}\mod 11413$,得到的结果是-10389*2=-20778,同样需要将其加上11413得到正数,得到的结果是-20778+11413=-9365。 最后,我们计算$2^{12}\mod 11413$,得到的结果是-9365*2=-18730,同样需要将其加上11413得到正数,得到的结果是-18730+11413=-7317。 因此,利用重复平方法计算97263533mod 11413的结果是-7317。 注意,我们最后得到的结果是负数,但是根据运算的定义,我们可以将其加上一个11413的倍数来得到一个等价的正数结果。因此,我们可以将-7317加上11413,得到最终的结果是4096。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值