Big Number 求模

来源:互联网 发布:软件积分破解器 编辑:程序博客网 时间:2024/05/29 18:58

Big Number

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 19   Accepted Submission(s) : 14
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 312 7152455856554521 3250
 

Sample Output
251521
 
  累加求模
用递推的思想,就可以总结出下面的公式;举例:12345 9余数等于(12340%9+5%9)%9;而12340 9(12300%9+40%9)%9;依次...最后(10000%9+2000%9)%9;而10000%9=(1%9*10000)%92000%9=(2%9*1000)%9即(1*10+2)%9*1000%9;即可得到:for(i=0;i<len;i++)           {             sum=sum*10+s[i]-'0';              sum=sum%9;            }#include<stdio.h>#include<string.h>int main(){ int n,sum,i,k; char s[1001]; while(scanf("%s%d",s,&n)!=EOF) {  k=strlen(s);  sum=0;  for(i=0;i<k;i++)  {   sum=sum*10+s[i]-'0';   sum=sum%n;  }  printf("%d\n",sum); } return 0;}


原创粉丝点击