在C ++中找到大的N值,找到N%(余数为4)

在这个问题中,我们得到了一个代表大整数的字符串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