在这个问题中,我们得到了一个代表大整数的字符串num。我们的任务是为N的较大值找到N%(余数为4)。
问题描述-我们将找到数字的其余部分,并加上4。
让我们举个例子来了解这个问题,
num = 453425245输出结果
1
解决该问题的一种简单方法是使用以下事实:可以使用数字的最后两位找到带有4的数字的余数。因此,对于任何大数,我们都可以通过将数字的后两位数字除以4来找到余数。
该程序说明了我们解决方案的工作原理,
#include <bits/stdc++.h>
using namespace std;
int calc4Mod(string num, int len) {
int rem;
if (len == 1)
rem = num[0] - '0';
else
rem = (num[len - 2] - '0') * 10 + num[len - 1] - '0';
return (rem % 4);
}
int main() {
string num = "84525765476513";
int len = num.length();
cout<<"剩下的4个数字是 "<<calc4Mod(num, len);
return 0;
}输出结果剩下的4个数字是 1