同余与模算术

2019-04-13 14:25发布

整理几个公式: (a+b) mod n = ((a mod n)+(b modn))modna-b)mod n = ((a mod n)-(b mod n)+n)mod n
  ab mod n = (mod n)(mod n)mod n 注意在减法中,由于a mod n可能小于b mod n,需要在结果加上n ;而在乘法中需要注意a mod nb mod n相乘是否会溢出。
例题:输入大整数nm,输出mod m的值,其中n<=10^100,m<=10^9。
把大整数写成”自左向右“的形式:如1234 = ((1*10+2)*10+3)*10+4. #include #include const int N = 110; int main() { char n[N]; int m; scanf("%s %d", n, &m); int len = strlen(n); int ans = 0; for(int i=0; i