1061 - 大数取模

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

现给你两个正整数A和B,请你计算A mod B。
为了使问题简单,保证B小于100000。

题目输入

输入包含多组测试数据。每行输入包含两个正整数A和B。A的长度不超过1000,并且0<B<100000。

题目输出

对于每一个测试样例,输出A mod B。

输入/输出样例

输入格式

2 3
12 7
152455856554521 3250

输出格式

2
5
1521

C语言解答

#include<stdio.h>

int main()
{
	int b,i,k;
	char a[1001];
	while(scanf("%s%d",a,&b)!=EOF)
	{
		for(k=i=0;a[i]!='\0';i++)
			k=(k*10%b+(a[i]-'0')%b)%b;
		printf("%d\n",k);
	}
	return 0;
}

C++解答

#include<stdio.h>

int main()
{
	int b,i,k;
	char a[1001];
	while(scanf("%s%d",a,&b)!=EOF)
	{
		for(k=i=0;a[i]!='\0';i++)
			k=(k*10%b+(a[i]-'0')%b)%b;
		printf("%d\n",k);
	}
	return 0;
}

Java解答

import java.util.*;
import java.math.*;
import java.io.*;

public class Main {
	public static void main(String[] args){
		Scanner sf=new Scanner(System.in);
		BigInteger a,b;
		while(sf.hasNext()){
			a=sf.nextBigInteger();
			b=sf.nextBigInteger();
			a=a.mod(b);
			System.out.println(a);
		}
	}
}

Python解答

while True:
    a,b=raw_input().split(' ')
    print(int(a)%int(b))