1 /*大数取余-------mod 为 (int范围)*/
2 /* 具体做法:
3 从大数最高位开始,只要其大于mod
4 就实行取余,一直下去,最终得到余数
5 例如:123 % 4 取一个中间变量t=0
6 1<4 t=1
7 --- 2 t=1*10+2=12>4 t=t%4=0
8 --- 3 t=0+3=3 t=t%4=3
9 -------------------- 余数 3
10 */
11 #include<iostream>
12 #include<string>
13 #include<cstring>
14 using namespace std;
15
16 int MOD(string a,int mod)
17 {
18 int len=a.length(),i;
19 int t=0;//中间变量,最终存储余数
20 for(i=0;i<len;i++)
21 {
22 t*=10;
23 t+=a[i]-'0';
24 if(t>=mod)
25 t=t%mod;
26 }
27 return t;
28 }
29 int main()
30 {
31 string a;
32 int mod;
33 while(cin>>a>>mod)
34 {
35 cout<<MOD(a,mod)<<endl;
36 }
37 return 0;
38 }