nyoj205 求余数(大数被int64位之内的求余)
求余数
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数
- 输入
- 第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。 - 输出
- 输出n整除10003之后的余数,每次输出占一行。
- 样例输入
-
3 4 5 465456541
- 样例输出
-
4 5 6948
算法分析:就是模拟一般的除法运算。 -
View Code
1 #include<iostream>
2 #include<cstring>
3 #define N 1000010
4
5 using namespace std;
6
7 char number[N];
8
9 int mod(char *number,int m)
10 {
11 int i,len,ans=0;
12 len=strlen(number);
13 for(i=0;i<len;i++)
14 {
15 ans=ans*10+number[i]-'0';
16 ans=ans%10003;
17 }
18 return ans;
19 }
20
21 int main()
22 {
23 int test;
24 cin>>test;
25 while(test--)
26 {
27 cin>>number;
28 cout<<mod(number,10003)<<endl;
29 }
30 return 0;
31 }