NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏


这题目看一眼以为难度评级出错了,只是一个求余数的题目,,后来才发现,位数小于百万位,,,我还以为是大小小于百万呢,所以借鉴了另一大神的代码,

用大数,重点是同余定理:

(a+b)mod m=((a mod m)+(b mod m))mod m;

a*b mod m=(a mod m)*(b mod m) mod m;

a^b mod m=(a mod m)^b mod m;


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char num[1000010];
int main()
{
    long int i;
    int n,temp,t;
    scanf("%d",&n);
    while(n--)
    {
       scanf("%s",num);
       t=strlen(num);
       for(temp=0,i=0;i<t;i++)
          temp=(temp*10+num[i]-'0')%10003;
       printf("%d\n",temp%10003);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-02-02 12:30  天I火  阅读(143)  评论(0编辑  收藏  举报