给出一个大数比如1234687415164641,求其对32的模。运用同余定理解决。
用了以下两个同余定理公式:
(A + B) mod M = ( A mod M + B mod M ) mod M
(A * B) mod M = ((A mod M) *( B mod M)) mod M
程序如下
#include<iostream>
#include<string.h>
using namespace std;
char str[1001];
int main()
{
int numb;
while(cin >> str >> numb)
{
int sum = 0;
for(int i=0; i<strlen(str); ++i)
sum = (sum*10 + (str[i]-'0'))%numb;
cout << sum << endl;
}
return 0;
}