根据公式:(a + b) % m = (a % m + b % m) % m = (a + b % m) % m
#include <iostream>
#include <string>
using namespace std;
int main()
{
string A;
int B;
while (cin >> A >> B)
{
int len = A.size();
int ans = 0;
for (int i = 0; i < len; i++)
{
ans = (ans * 10 + (A[i] - '0') % B) % B;
}
cout << ans << endl;
}
return 0;
}
继续加油。
本文介绍了一种模运算的技巧,通过公式(a+b)%m=(a%m+b%m)%m=(a+b%m)%m,展示了如何在C++中有效进行大数模运算。代码示例使用字符串存储大数,并通过逐位读取字符并转换为数字进行模运算,避免了直接处理大数可能引发的溢出问题。
2万+

被折叠的 条评论
为什么被折叠?



