对于一些大数,位数过大需要用字符串数组来记录
题目描述 |
---|
现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数 |
输入格式 |
---|
第一行有一个整数m(1<=m<=8),表示有m组测试数据; 随后m行每行有一个自然数n。 |
输出格式 |
---|
输出n整除10003之后的余数,每次输出占一行。 |
样例 |
---|
样例输入 3 4 5 465456541 样例输出 4 5 6948 |
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
char a[1000005];
scanf("%s",a);
int l=strlen(a),m=0;
for(int i=0;i<l;i++)
{
m=(m*10+(a[i]-'0'))%10003; //理解思想
}
printf("%d\n",m);
}
}
原理如下