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 }
posted @ 2012-03-22 19:39  mtry  阅读(882)  评论(0编辑  收藏  举报