您的位置:首页 > 其它

hdu 1212 Big Number(大数取模)

2016-02-19 16:41 344 查看
[align=left]Problem Description[/align]
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.

[align=left]Input[/align]
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.

[align=left]Output[/align]
For each test case, you have to ouput the result of A mod B.

[align=left]Sample Input[/align]

2 3
12 7
152455856554521 3250

[align=left]Sample Output[/align]

2
5
1521

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

//比如 985%6

// 9%6=3

// 38%6=2

// 25%6=1

//计算完毕

#include <iostream>

using namespace std;
char a[12000];
int b;
int mod(char *a,int b)
{
int ans=0;
for(int i=0;a[i]!='\0';i++)
ans=(ans*10+a[i]-'0')%b;
return ans;
}
int main()
{
while(cin>>a>>b)
{
cout<<mod(a,b)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: