2098 - 求余数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

现在给你一个自然数n,它的位数<=10^6(注意是一百万位),现在你要做的是求出这个数除10003之后的余数。

题目输入

输入数据首先包括一个整数m(1<=n<=50),表示测试数据的个数,然后是n行数据,每一行包括一个自然数n

题目输出

对于每个测试样例,请输出n整除10003之后的余数,每次输出占一行。

输入/输出样例

输入格式

3
4
5
465456541

输出格式

4
5
6948

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;
}

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;
}