c语言如何取模运算

Python013

c语言如何取模运算,第1张

C语言用取模运算符“%”进行取模运算。

取模运算符“%”的作用是求两个数相除的余数。例如,请看下面这段代码:

x=15/7

如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法运算符"/",得到的结果就不同了:

X=15%7

这个表达式的结果为15除以7的余数,等于1。这就是说,15除以7得2余1。

取模运算符通常用来判断一个数是否被另一个数整除。例如,如果你要打印字母表中序号为3的倍数的字母,你可以使用下面这段代码:

int x

for(x=1x<=26x++)

if((x%3)==0)

printf("%c"x+64)

上例将输出字符串"cfilorux",即字母表中序号为3的倍数的所有字母。

取模运算余数的定义:当被除数不够整除时余下的数。

当都是正整数时:

除法实际可转化为减数,不够减时剩下的就是余数。

例如:12%5

12-5-5

2

当存在负数时: x%y

i. 当异号时:

if |x|>|y|

result: x+y

else

result: x

例:

-6% 5等于-1

6%-5等于 1

5%-6等于 5

-5% 6等于 -5

ii. 当同号时:

if |x|>|y|

result: x-y

else

result: x

例:

-1%-5等于-1

-6%-5等于-1

-4%-5等于-4

-5%-6等于-5

数学中 模 这个字被用于很多个不同领域(但是意义不同)

一、C语言中的计算符号%,这个求模在数学中是指属于数论内容的求模(通俗的说就是整数除法求余数),这种求模在数学的抽象代数中有更一般情况的推广,符号是 a 三 b (mod m) (“三”是三跳横线的等号,因为打不出来我用 三代替了 你自行脑补)。

这个符号的等价意义是 a-b属于 “ m”对应的理想,或者通俗的说是a,b同属于模掉m的一个等价类 。这是比较一般的情况,在初等数论中有一种特例,就是当讨论的范围限于整数及其运算下,a,b,m都是整数,m的对应的等价类取为m的剩余类意义。这种特殊的例子中,a,b同属于m的一个剩余类,也就是a-b能被m整除,也就是通俗的说a,b带余数除法除以m得到的余数相同,即同余。

据此,C语言中的%就相当于 mod a%m = b 就相当于 求一个b,使得b三a(mod m) (b取相应剩余类中最小的非负整数作为代表)。

二、在数学中还有一个地方也用了“模”这个名词,但与上述的没什么关系。就是向量/矢量/复数的 模。它是绝对值、长度的推广。它的进一步推广是范数。例如,复数z=x+iy (x,y是实数,i是虚数单位 i^2 = -1)的模就是 根号下(x的平方+y的平方)。很容易验证它是一种特殊的范数。

三、在数学中还有一类代数结构也被叫做“模”,在各种代数结构的表示论中占有很重要的地位。也算是线性空间的推广,线性空间是一种特殊的“模”。一般说到模,是指一个交换群(也叫Abel群、加法群)M,M要成为一个有单位元的环R上的模,需要定义一个运算(是数乘运算的推广)RXM→M,这个运算要满足一定的条件,例如与加法的各种分配率,单位元e满足e.m=m之类的。在李代数的表示理论中,还有种李代数的模结构,一个交换群M,要成为一个李代数L上的模(其本质其实是李代数L的一个表示),定义RXM→M时要满足对于李乘[,]满足[x,y].m = xym-yxm等条件,李代数的L模跟 环R上的R模结构上有一定的相似性。都叫做“模”。

P.S. 好像其实 三的模英文原词跟一、二的模英文原词其实差了一两个字母好像,可能是翻译没办法了。自行注意别混淆了吧。

还是有一点点差别的,因为C语言的%求模求的只是一个代表整数(就是0~m-1范围内的),而事实上严格来说,模应该也要包括整个剩余类。

C语言中的取模运算就是一个取余数的过程。常用%号表示取模运算。可以将取模运算看成取余运算。

例如:10÷3=3....1 10除3的余数为1 ,在C语言中10%3的结果也为1。两者在处理的效果上没任何差别。只不过一个是数学运算,一个是编程语言中的一种运算方式。

取模运算常用在判断素数,判断奇偶数,判断最大公约数中较为常用,一般作为判断依据。

扩展资料:

给定一个正整数p,任意一个整数n,一定存在等式 :

n = kp + r ;

其中 k、r 是整数,且 0 ≤ r <p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

对于正整数 p 和整数 a,b,定义如下运算:

取模运算:a % p(或a mod p),表示a除以p的余数。

模p加法: ,其结果是a+b算术和除以p的余数。

模p减法: ,其结果是a-b算术差除以p的余数。

模p乘法: ,其结果是 a * b算术乘法除以p的余数。

参考资料来源:百度百科-取模运算