Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3771 Accepted Submission(s): 2586
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 1 //原理: (a+b)%c = ((a%c)+(b%c))%c 2 // (a*b)%c = ((a%c)*(b%c))%c 3 #include <iostream> 4 #include <cstdio> 5 #include <cstring> 6 using namespace std; 7 #define maxn 1000+5 8 9 int num[250]; 10 char numc[maxn]; 11 12 int main() 13 { 14 int b; 15 while(cin>>numc>>b) 16 { 17 int i = strlen(numc) - 1; 18 int p = 1,ans = 0; 19 while(i>=0) 20 { 21 ans = (ans + (numc[i]-'0')*p)%b; 22 p *= 10; 23 p %= b; 24 i--; 25 } 26 cout<<ans<<endl; 27 } 28 } View Code
转载于:https://www.cnblogs.com/Skyxj/p/3210984.html
相关资源:数据结构—成绩单生成器