模运算的小问题

或者同一化为正数
/*
	1.模运算的问题:a%b=|a|%|b|,余数的符号随a
	2.按数论的规定:余数不能为负,故结果可能加b变为正,如果余数是0,则结果变成了b,需要%b修正
	a%b=(a%b+b)%b	(除的结果可正课负,余数一定非负)
	3.模运算的规律:可以放进括号中
		(a*b)%c=(a%c*b%c)%c
		(a+b)%c=(a%c+b%c)%c
*/
#include<stdio.h>
int mod(int a,int b){
	return (a%b+b)%b;
}
int main(){
	printf("-5%%4=%d\n",-5%4);
	printf("5%%(-4)=%d\n",5%(-4));
	printf("-5%%4=%d\n",mod(-5,4));
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值