对于一些大数,位数过大需要用字符串数组来记录
| 题目描述 |
|---|
| 现在给你一个自然数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);
}
}
原理如下

博客指出对于位数过大的大数,需要用字符串数组来记录,并提及将介绍其原理。
2993

被折叠的 条评论
为什么被折叠?



