对于负数求模取余该怎么运算?

1、问题描述:取模操作‘%’是经常遇到的一种操作,对于正数之间的取模操作可以很好的理解,但如果取模之中有一个是负数该怎么处理呢?今天就从本质上来解决它。
2、问题解决:
首先介绍一个定理——带余除法定理。
b ∈ Z ( 整 数 ) , b ≠ 0 b\in Z(整数),b\neq0 bZ()b=0,则任意整数 a a a可以表示为下面的形式:
a = b q + r , 其 中 q , r ∈ Z , 且 0 ≤ r < ∣ b ∣ a = bq+r,其中q,r\in Z,且0\leq r < |b| a=bq+rq,rZ0r<b

证明:
只就 b > 0 b>0 b>0的情形证明,在以下数列:

. . . , − 3 b , − 2 b , − b , 0 , b , 2 b , 3 b , . . . ...,-3b,-2b,-b,0,b,2b,3b,... ...,3b,2b,b,0,b,2b,3b,...

总存在 q ∈ Z q\in Z qZ,使得 b q ≤ a ≤ b ( q + 1 ) bq\leq a \leq b(q+1) bqab(q+1) ,

于是 0 ≤ a − b q ≤ b , 令 r = a − b q 0\leq a-bq \leq b, 令r=a-bq 0abqbr=abq

a = b q + r , 0 ≤ r ≤ b . a = bq+r,0\leq r \leq b. a=bq+r0rb.

假设另有表达式 a = b q 1 + r 1 , 0 ≤ r 1 ≤ b a=bq_{1}+r_{1},0 \leq r_{1} \leq b a=bq1+r10r1b,

0 = b ( q − q 1 ) + r − r 1 0=b(q-q_{1})+r-r_{1} 0=b(qq1)+rr1,

所以 ( r − r 1 ) (r-r_{1}) (rr1)是b的倍数,

∣ r − r 1 ∣ < b |r-r_{1}| < b rr1<b,

于是只有 r − r 1 = 0 r-r_{1} = 0 rr1=0,从而 q = q 1 q=q_{1} q=q1,证毕。

从上面的定理我们可以直到,所谓的取模运算就是求解 r r r的过程。

4%(-6)
4 = -6*(-1)-2
所以结果为-2

又比如
(-4)%6
-4 = 6*(-1)+2
所以结果为2

如果对你的问题解决有帮助,麻烦点个赞。😄

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值