JAVA大数求余 Basic remains(POJ 2305)
2011-07-14 08:55
267 查看
Basic remains(POJ 2305)
DescriptionGiven 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.InputInput 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.OutputFor each test case, print a line giving p mod m as a base-b integer.Sample Input
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 2863 | Accepted: 1169 |
2 1100 101 10 123456789123456789123456789 1000 0Sample Output
10 789 CODE:// import java.util.*; import java.math.*; import java.io.*; public class HDOJ_1000 { public static void main(String[] args) { BigInteger p,m,mul,N; int i,len; int n; String a,b; Scanner cin=new Scanner(System.in); while(cin.hasNext()) { n=cin.nextInt(); if(n==0) break; p=BigInteger.valueOf(0); m=BigInteger.valueOf(0); a=cin.next(); b=cin.next(); len=a.length(); mul=BigInteger.valueOf(1); N=BigInteger.valueOf(n); for(i=len-1;i>=0;i--) { p=p.add(BigInteger.valueOf((a.charAt(i)-'0')).multiply(mul)); mul=mul.multiply(N); } len=b.length(); mul=BigInteger.valueOf(1); for(i=len-1;i>=0;i--) { m=m.add(BigInteger.valueOf((b.charAt(i)-'0')).multiply(mul)); mul=mul.multiply(N); } System.out.println(p.mod(m).toString(n)); } } } //
相关文章推荐
- POJ 2305 Basic remains(大数取模)(JAVA)
- POJ PKU 2305 java大数进制转化 JAVA 大数转换成字符串 转
- poj2305 JAVA大数运算
- POJ2305 Basic remains 大数|进制转换 Java
- JAVA大数求余 Basic remains(POJ 2305)
- POJ 2506 Tiling(大数递推&&(数组模拟||JAVA))
- POJ 1503 Integer Inquiry(大数相加,java)
- poj 2305 java b进制取余
- poj 2305 Basic remains java
- POJ 3181 Dollar Dayz (有点像背包的dp -- JAVA大数)
- poj 2756 Autumn is a Genius(JAVA:浮点大数)
- POJ 2389 Bull Math(水~Java -大数相乘)
- POJ 2413 : How many Fibs? - JAVA大数! / 二分查找+大数加法
- poj 3101 Astronomy (大数java)
- poj 2084/3982 java大数(Catalan数)
- poj 2305(指定进制,大数取模)
- poj 2305 Basic remains java
- [POJ](2506)Tiling ---递推+Java大数
- poj-1503-java大数相加
- JAVA 大数相加 POJ 1503