hdu 1212 Big Number(大数取模)

时间:2023-03-08 18:33:07
Problem Description
As we know, Big Number is always troublesome. But it's really important in our ACM. And today, your task is to write a program to calculate A mod B.

To make the problem easier, I promise that B will be smaller than 100000.

Is it too hard? No, I work it out in 10 minutes, and my program contains less than 25 lines.

Input
The input contains several test cases. Each test case consists of two positive integers A and B. The length of A will not exceed 1000, and B will be smaller than 100000. Process to the end of file.
Output
For each test case, you have to ouput the result of A mod B.
Sample Input
2 3
12 7
152455856554521 3250
Sample Output
2
5
1521

//重最高位开始不断取余,简单来说模拟手算

//比如  985%6

//   9%6=3

//  38%6=2

//  25%6=1

//计算完毕

 #include <iostream>

 using namespace std;
char a[];
int b;
int mod(char *a,int b)
{
int ans=;
for(int i=;a[i]!='\0';i++)
ans=(ans*+a[i]-'')%b;
return ans;
}
int main()
{
while(cin>>a>>b)
{
cout<<mod(a,b)<<endl;
}
return ;
}