这是一道数论的题,我数论是不咋地。也是找别人给我讲的,才写的,要是有错误的话,请大牛指出,在此感激不尽。
/*
Author:snowflake
Time:2012-5-25 19:46
Desc:hdu1212 大数模加数论
*/
/*
解题报告:
首先举一个例子.123456789 对 5 取模。用(((1%5) * 10 + 2)%5)*10 + 3....
就是(1 * 10^8 + 2 * 10^7 + 3 * 10^6 + 4 * 10^5+...9 * 10^0) mod 5
根据性质可以写成 (1 * 10^8 mod 5 + 2 * 10^7 mod 5...9*10^0 mod 5) % mod 5
*/
#include <iostream>
#include <cstring>
using namespace std;
#define maxn 1000 + 10
int main()
{
char s[maxn];
int b;
while(cin >> s >> b)
{
int len = strlen(s);
int temp = 0, c;
for(int i = 0; i <= len - 1; i++)
{
c = temp * 10 + (s[i] - '0');
temp = c % b;
}
cout << temp << endl;
}
return 0;
}