zcmu 1097

1097: 求余

Description

小学题目,给定除数和被除数,求余数

Input

多组测试数据,每组测试数据包含两个整数n,k(1<=n<=10^2000,1<=k<=1000)

Output

对于每组测试数据,输出n%k

Sample Input

12 4 12 5

Sample Output

0 2
 
思路:同余定理,(a+b) % m = ((a % m) + (b % m)) % m 。
 
代码如下:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
#include<time.h>
using namespace std;
#define FORA(i,x,y) for(int i = x; i < y; i++)
#define FORB(i,x,y) for(int i = x; i <= y; i++)
#define FORC(i,y,x) for(int i = y; i > x; i--)
#define maxn 100000
#define INF 1000000000
#define LL long long
const int mod = 1000000;
char a[maxn];
int b[maxn];
int main(){
    int n,m;
    while(~scanf("%s %d",a,&m)){
        int t = strlen(a);
        int ans = 0;
        FORA(i,0,t){
            ans = (ans * 10 + a[i] - '0') % m;
        }
        printf("%d\n",ans);
    }
    return 0;
}


posted @ 2018-08-08 23:29  半忧夏  阅读(143)  评论(0编辑  收藏  举报