求余数
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数
- 输入
- 第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。 - 输出
- 输出n整除10003之后的余数,每次输出占一行。
- 样例输入
-
3 4 5 465456541
- 样例输出
-
4 5 6948
1 //刚开始看见这样的题好像真的不知道咋办了 ,后来想想, 2 //直接模拟除法就行了,从高位到低位依次求模就行了 3 4 #include <cstdio> 5 #include <iostream> 6 #include <cstring> 7 8 using namespace std; 9 10 const int MAX = 1000000 + 1; 11 12 int Mod(char *num, int m) 13 { 14 int len = strlen(num); 15 int ans = 0; 16 for(int i = 0; i < len; ++i) 17 { 18 ans = ans * 10 + num[i] - '0'; 19 ans %= m; 20 } 21 return ans; 22 } 23 24 int main() 25 { 26 int T; 27 char num[MAX]; 28 cin >> T; 29 while(T--) 30 { 31 cin >> num; 32 cout << Mod(num,10003) << endl; 33 } 34 return 0; 35 }