python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?
【取模和求余原理】
定義:a = bq + r 且 0 <= |r| < |b|。
題目:給定a和b,要求mod(a,b)和rem(a,b);
分析:對(duì)于滿足a = bq + r 且 0 <= |r| < |b|條件的數(shù)據(jù),如果a不能被b整除,有兩對(duì)(q,r),其中一對(duì)中r為正數(shù)(正余數(shù)),另一對(duì)中r為負(fù)數(shù)(負(fù)余數(shù))。
結(jié)果:取模的定義有很多種,不同語(yǔ)言的取模定義可能不一樣,最常見的是:q更趨近無(wú)窮小(負(fù)無(wú)窮)時(shí)的r,即mod(a,b);
求余:q更趨近0時(shí)的r,即rem(a,b);
【舉例】
例子1:
mod(7,3)=1,rem(7,3)=1
候選組1:(q1,r1)=(2,1) 7=2*3+1
候選組2:(q2,r2)=(3,-2) 7=3*3+(-2)
取模:因?yàn)閝1比q2更加趨近于負(fù)無(wú)窮,所以取(q1,r1)=(2,1),mod(7,3)=1
求余:因?yàn)閝1比q2更加趨近于0,所以取(q1,r1)=(2,1),rem(7,3)=1
例子2:
mod(7,-3)=-2,rem(7,-3)=1
候選組1:(q1,r1)=(-2,1) 7=(-2)*(-3)+1
候選組2:(q2,r2)=(-3,-2) 7=(-3)*(-3)+(-2)
取模:因?yàn)閝2比q1更加趨近于負(fù)無(wú)窮,所以取(q2,r2)=(-3,-2),mod(7,-3)=-2
求余:因?yàn)閝1比q2更加趨近于0,所以取(q1,r1)=(-2,1),rem(7,3)=1
例子3:
mod(-7,3)=2,rem(-7,3)=-1
候選組1:(q1,r1)=(-2,-1) -7=(-2)*3+(-1)
候選組2:(q2,r2)=(-3,2) -7=(-3)*3+2
取模:因?yàn)閝2比q1更加趨近于負(fù)無(wú)窮,所以取(q2,r2)=(-3,2),mod(7,-3)=2
求余:因?yàn)閝1比q2更加趨近于0,所以取(q1,r1)=(-2,-1),rem(7,-3)=-1
例子4:
mod(-7,-3)=-1,rem(-7,-3)=-1
候選組1:(q1,r1)=(2,-1) -7=2*(-3)+(-1)
候選組2:(q2,r2)=(3,2) -7=3*(-3)+2
取模:因?yàn)閝1比q2更加趨近于負(fù)無(wú)窮,所以取(q1,r1)=(2,-1),mod(7,-3)=-1
求余:因?yàn)閝1比q2更加趨近于0,所以取(q1,r1)=(2,-1),rem(7,-3)=-1
【更多】
1、其他的取模運(yùn)算,例如r必須和a負(fù)號(hào)相同等等,原理類似,根據(jù)條件取模時(shí)對(duì)候選組進(jìn)行選擇,因此不再展開。
2、取模在灰度方案和abtest中經(jīng)常用到(對(duì)隨機(jī)算法要求不高)。
翻了下百度計(jì)算器,對(duì)了下答案,米問(wèn)題,交卷~
【參考】
總結(jié)
以上是生活随笔為你收集整理的python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【相机标定与三维重建原理及实现】学习笔记
- 下一篇: python中字典按键或键值排序