c语言如何取模运算

取模运算符是不是%对负数取模是否是都是正数!负数对10取模是否都为非负数?... 取模运算符是不是% 对负数取模是否是都是正数!
负数对10取模是否都为非负数?
展开
 我来答
皓哥侃球
高粉答主

推荐于2019-10-01 · 看球,侃球,分享球,不求专业,只求痛快!
皓哥侃球
采纳数:66 获赞数:151670

向TA提问 私信TA
展开全部

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

比如给定一个正整数p,任意一个整数n,一定存在等式 :n = kp + r ;其中 k、r 是整数,且 0 ≤ r < p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

取模运算的规则如下:

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 。

扩展资料:

取模运算在c语言中的应用范围:

1、判别奇偶数

奇偶数的判别是模运算最基本的应用,也非常简单。已知一个整数n对2取模,如果余数为0,则表示n为偶数,否则n为奇数。

2、判别素数

一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数)。例如 2,3,5,7 是质数,而 4,6,8,9 则不是,后者称为合成数或合数。用不比该自然数的平方根大的正整数去除这个自然数,若该自然数能被整除,则说明其非素数。

3、求最大公约数

求最大公约数最常见的方法是欧几里德算法(又称辗转相除法),其计算原理依赖于定理:gcd(a,b) = gcd(b,a mod b)。

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

小懂的账号
推荐于2019-11-13 · TA获得超过2.8万个赞
知道小有建树答主
回答量:8445
采纳率:95%
帮助的人:296万
展开全部

取模运算符是% ,对负数取模不一定都是正数。

例如:

例一:int main(){
int x;     

x = -6%5; printf("%2d/n",x);        

x = 6%-5; printf("%2d/n",x);        

x = 1%-5; printf("%2d/n",x);       

x = -1%-5; printf("%2d/n",x);     

x = -6%-5; printf("%2d/n",x); 

}

运行结果为:-1、1 、1 、-1、 -1

例二:#include <stdio.h>int main()
{
int x;    

x = 5%-6;

printf("%2d/n",x);  

x = 5%-6; printf("%2d/n",x);   

x = -5%6; printf("%2d/n",x);        

x = 4%5;   printf("%2d/n",x);       

x = -4%-5; printf("%2d/n",x);   

x = -5%-6; printf("%2d/n",x); 

}

运行结果为:5、-5 、 4、-4、-5


扩展资料:

取模运算运算规则:

模运算与基本四则运算有些相似,但是除法例外。其规则如下:

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

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

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

a ^ b % p = ((a % p)^b) % p 

结合律:

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

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

交换律:

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

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

分配律:

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

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

参考资料:

百度百科-取模运算

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡的好8D
推荐于2019-09-22 · TA获得超过775个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

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

比如给定一个正整数p,任意一个整数n,一定存在等式 :n = kp + r ;其中 k、r 是整数,且 0 ≤ r < p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

取模运算的规则如下:

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 + b) % p = (a % p + b % p) % p (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 (4)

结合律:

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

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

交换律:

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

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

分配律:

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
当哆啦离开A梦
推荐于2019-08-08 · TA获得超过6386个赞
知道答主
回答量:47
采纳率:0%
帮助的人:2.3万
展开全部

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

取模运算(“Modulo Operation”)和取余运算(“Complementation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。

取模主要是用于计算机术语中。取余则更多是数学概念。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。

当存在负数时: x%y

1、当异号时:

if |x|>|y|

result: x+y

else 

result: x

2、当同号时:

if |x|>|y|

result: x-y

else 

result: x

扩展资料:

当x、y都是正整数时,例:

5%3等于2,

3%5等于3

当x、y异号时,例:

-6% 5等于-1

6%-5等于 1

5%-6等于 5

-5% 6等于-5

当x、y同号时,例:

-1%-5等于-1

-6%-5等于-1

-4%-5等于-4

-5%-6等于-5

参考资料:百度百科—取模运算

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abc小鸭
推荐于2017-09-26 · 知道合伙人教育行家
abc小鸭
知道合伙人教育行家
采纳数:366 获赞数:4161
毕业于北京理工大学,现从事软件开发工作。

向TA提问 私信TA
展开全部
C语言用取模运算符“%”进行取模运算。
取模运算符“%”的作用是求两个数相除的余数。例如,请看下面这段代码:
x=15/7;
如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法运算符"/",得到的结果就不同了:
X=15%7;
这个表达式的结果为15除以7的余数,等于1。这就是说,15除以7得2余1。
取模运算符通常用来判断一个数是否被另一个数整除。例如,如果你要打印字母表中序号为3的倍数的字母,你可以使用下面这段代码:
int x;
for(x=1; x<=26; x++)
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式