2098 - 求余数
现在给你一个自然数n,它的位数<=10^6(注意是一百万位),现在你要做的是求出这个数除10003之后的余数。
Input
输入数据首先包括一个整数m(1<=n<=50),表示测试数据的个数,然后是n行数据,每一行包括一个自然数n。
Output
对于每个测试样例,请输出n整除10003之后的余数,每次输出占一行。
Examples
Input
3 4 5 465456541
Output
4 5 6948
Solution C
#include <stdio.h> char metamorphosis[1000001]; int main(){ int i, remainder, n; scanf("%d", &n); while (n--){ scanf("%s", metamorphosis); remainder = 0; i = 0; while (metamorphosis[i]){ remainder = (remainder * 10 + (int)(metamorphosis[i]-'0')) % 10003; i++; } printf("%d\n", remainder); } return 0; }
Solution C++
#include <stdio.h> #include <string.h> #define MAXN 1000010 char a[MAXN]; int main() { int i , n , num , len; scanf("%d",&n); while(n--) { num = 0; scanf("%s",a); len = strlen(a); for( i = 0 ; i < len ; i++) { num = (num *10 + (int)(a[i]-'0')) % 10003; } printf("%d\n",num); } return 0; }