1. 程式人生 > >大數取模 模板

大數取模 模板

對於一些基本運算的大數取模:

加法       (a+b)%n=(a%n+b%n)%n

減法       (a-b)%n=(a%n-b%n+n)%n      //為什麼要加n,由於a%n可能小於b%n,所以加n保證為正整數

乘法       a*b%n=(a%n*b%n)%n

這些都是大數取模的基礎,大數取模模板如下:

 int mod(char str[],int c)
{
    int number[100];
    for(int i=0;i<strlen(str);i++)
     number[i]=str[i]-'0';
    int sum=0;
    for(int i=0;i<strlen(str);i++)
    {
        sum=((long long)sum*10+number[i])%c;
    }
    return sum;
}