整除的性质及证明

性质

对于任意的正整数 a a a b b b c c c,都必然有 ⌊ ⌊ a b ⌋ c ⌋ = ⌊ a b c ⌋ \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} \rfloor=\lfloor \frac{a}{bc} \rfloor cba=bca

证明

⌊ a b ⌋ = x \lfloor \frac{a}{b} \rfloor=x ba=x,设 a = x ⋅ b + y a=x\cdot b + y a=xb+y,于是就有 0 ≤ y < b 0\le y < b 0y<b

同理,设 ⌊ ⌊ a b ⌋ c ⌋ = z \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} \rfloor=z cba=z,设 ⌊ a b ⌋ = z ⋅ c + r \lfloor \frac{a}{b} \rfloor=z\cdot c + r ba=zc+r,于是就有 0 ≤ r < c 0\le r < c 0r<c

于是就有 x = z ⋅ c + r x=z\cdot c + r x=zc+r,所以 a = ( z ⋅ c + r ) ⋅ b + y = z ⋅ b c + ( r ⋅ b + y ) a=(z\cdot c+r)\cdot b +y=z\cdot bc+(r\cdot b + y) a=(zc+r)b+y=zbc+(rb+y)

可以假设 y = b − b 0 ( 1 ≤ b 0 ≤ b ) y=b-b_0(1\leq b_0 \leq b) y=bb0(1b0b),以及 r = c − c 0 ( 1 ≤ c 0 ≤ c ) r=c-c_0(1\leq c_0 \leq c) r=cc0(1c0c)

所以 a = z ⋅ b c + [ ( c − c 0 ) ⋅ b + ( b − b 0 ) ] = z ⋅ b c + ( b c − c 0 b + b − b 0 ) = z ⋅ b c + [ b c − ( c 0 − 1 ) ⋅ b − b 0 ] a=z\cdot bc+[(c-c_0)\cdot b+(b-b_0)]=z\cdot bc+(bc-c_0b+b-b_0)=z\cdot bc+[bc-(c_0-1)\cdot b-b_0] a=zbc+[(cc0)b+(bb0)]=zbc+(bcc0b+bb0)=zbc+[bc(c01)bb0]。因为 c 0 ≥ 1 c_0\ge 1 c01,所以 b c − ( c 0 − 1 ) ⋅ b − b 0 < b c bc-(c_0-1)\cdot b -b_0 < bc bc(c01)bb0<bc,所以代入得到 ⌊ a b c ⌋ = ⌊ z ⋅ b c + [ b c − ( c 0 − 1 ) ⋅ b − b 0 ] b c ⌋ = ⌊ z ⋅ b c b c + b c − ( c 0 − 1 ) ⋅ b − b 0 b c ⌋ = z \lfloor \frac{a}{bc} \rfloor=\lfloor \frac{z\cdot bc+[bc-(c_0-1)\cdot b-b_0]}{bc}\rfloor=\lfloor\frac{z\cdot bc}{bc}+\frac{bc-(c_0-1)\cdot b-b_0}{bc}\rfloor=z bca=bczbc+[bc(c01)bb0]=bczbc+bcbc(c01)bb0=z。于是得证。

应用

商式取模开括号:

⌊ ( a m o d    b c ) b ⌋ = ⌊ a − ⌊ a b c ⌋ ⋅ b c b ⌋ = ⌊ a b ⌋ − ⌊ a b c ⌋ ⋅ c = ⌊ a b ⌋ − ⌊ ⌊ a b ⌋ c ⌋ ⋅ c = ⌊ a b ⌋ m o d    c \lfloor\frac{(a\mod bc)}{b}\rfloor=\lfloor\frac{a-{\lfloor\frac{a}{bc}\rfloor}\cdot bc}{b}\rfloor=\lfloor\frac{a}{b}\rfloor-{\lfloor\frac{a}{bc}\rfloor}\cdot c=\lfloor\frac{a}{b}\rfloor-{\lfloor\frac{\lfloor\frac{a}{b}\rfloor}{c}\rfloor}\cdot c=\lfloor\frac{a}{b}\rfloor \mod c b(amodbc)=babcabc=babcac=bacbac=bamodc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值