大数运算问题
求教一下大数运算的问题,长达几十位的数加减运算用数组如何完成;还有就是想问问2的N次方当,为N100时,数字极大,原理和上面的应该一样吧,咋做呀。
程序代码:#include <cstdio>
long long PowerMod(long long a, int b, int k)
{
long long tmp = a, ret = 1;
while (b)
{
if (b & 1)
ret = ret * tmp % k;
tmp = tmp * tmp % k;
b >>= 1;
}
return ret ;
}
int main()
{
long long a = 2;
int b, k = 9973;
while(1)
{
scanf("%d",&b);
if ( b == 0)
break;
else if ( b < 0)
continue;
printf("%d\n",PowerMod(a, b, k) -1);
}
return 0;
}