大數對小數取餘
阿新 • • 發佈:2019-02-11
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 aprogram 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 lessthan 25 lines.
Input
The input contains several testcases. Each test case consists of two positive integers A and B. The length ofA will not exceed 1000, and B will be smaller than 100000. Process to the endof file.
Output
For each test case, you have toouput the result of A mod B.
Sample Input
2 3
12 7
152455856554521 3250
Sample Output
2
5
1521
A*B % C = (A%C * B%C)%C
(A+B)%C = (A%C + B%C)%C
如 532 mod 7 =(500%7+30%7+2%7)%7;
由此可得大數的每一位對小數求餘最後結果再對小數求餘就是大數對小數求餘的結果
#include<stdio.h> #include<string.h> int main() { char str[1000]; int a,i,len,sum; while(scanf("%s%d",str,&a)!=EOF) { sum=0; len=strlen(str); for(i=0;i<len;i++) { sum=(sum*10+str[i]-'0')%a; } printf("%d\n",sum); } return 0; }