高精度取模

struct node
{
    int s[10005],len;
    void read()
    {
        char ch=getchar();
        len=0;
        while(ch<'0'||ch>'9')ch=getchar();
        while(ch>='0'&&ch<='9')
        {
            s[len++]=ch-48;
            ch=getchar();
        }
        for(int j=0;j<len/2;j++)
        {
            swap(s[j],s[len-j-1]);
        }
    }
    void wrt()
    {
        for(int i=len-1;i>=0;i--)
        {
            printf("%d",s[i]);
        }
        printf("\n");
    }
}a[3005],m,ans,tmp;
int modit(node x)
{
    long long a=0,b=mod;
    for(int i=x.len;i>=0;i--)
    {
        a=a*10+x.s[i];
        if(a>=b)
        {
            a=a%b;
        }
    }
    return a;
}

思路:与除法竖式相同,若<mod则跳过,否则模mod

posted @ 2020-08-12 17:20  HYDcn666_JZOJ  阅读(185)  评论(0编辑  收藏  举报