求一个大整数对10003的余数
输入
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。
输出
输出n整除10003之后的余数,每次输出占一行
样例输入
3
4
5
46545654
样例输出
4
5
6948
同余定理:(a+b)%c=((a%c)+(b%c))%c
m%n举例:
123 % n = (((1%n*10%n+2%n)%n*10%n)%n+3%n)%n
1 #include <stdio.h> 2 #include <string.h> 3 #define N 1000001 4 5 int main(){ 6 int T; 7 char number[N]; 8 int temp; 9 int i; 10 int length; 11 12 scanf("%d",&T); 13 14 while(T--){ 15 temp=0; 16 17 scanf("%s",number); 18 length=strlen(number); //由于number位数很大,所以当把strlen放进循环时就超时了 19 20 for(i=0;i<length;i++) 21 temp=(temp*10+(number[i]-'0'))%10003; 22 23 printf("%d\n",temp); 24 } 25 26 return 0; 27 }