Problem:
Basic remains
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 4933
Accepted: 2081
Description
Given a base b and two non-negative base b integers p and m, compute p mod m and print the result as a base b integer. p mod m is defined as the smallest non-negative integer k such that p = a*m + k for some integer a.
Input
Input consists of a number of cases. Each case is represented by a line containing three unsigned integers. The first, b, is a decimal number between 2 and 10. The second, p, contains up to 1000 digits between 0 and b-1. The third, m, contains up to 9 digits between 0 and b-1. The last case is followed by a line containing 0.
Output
For each test case, print a line giving p mod m as a base-b integer.
Sample Input
2 1100 101
10 123456789123456789123456789 1000
0
Sample Output
10
789
Source
import java.util.*; import java.io.*; import java.math.*; import java.text.*; public class Main{ public static void main(String args[]) { BigInteger p,m,ans; int b; Scanner cin=new Scanner(System.in); while(cin.hasNext()) { b=cin.nextInt(); if(b==0) break; p=cin.nextBigInteger(b); m=cin.nextBigInteger(b); ans=p.mod(m); String s; s=ans.toString(b); System.out.println(s); } } }
本文介绍了一种解决大数取模问题的方法,通过给定的基数b和两个非负基数b整数p和m,计算p mod m的结果,并以基数b的形式输出。文章提供了一个Java实现案例,演示了如何读取输入并使用BigInteger类来处理大数运算。
5万+

被折叠的 条评论
为什么被折叠?



