数论—反复取模

判断a的b次方末尾3位数

在计算时可在每次乘a时对1000取模,根据高深的数论知识,结果不影响

1
2
3
4
while(b --){
res *= a;
res %= 1000;
}

R进制转换

对数字进行R进制转换,可用该数字对R取模得到个位,再除以R,再次取模,反复操作以获取各个位置的数,存储于vector中再进行输入

1
2
3
4
5
while(n){
digits.push_back(n % r);
n /= r;
}
reverse(digits.begin(), digits.end());//获取是从后往前,因此需要反转再输出