LeeBlog

导航

POJ PKU 2305 java大数进制转化 JAVA 大数转换成字符串 转

题目描述:

给你两个n进制数a和b。

以n进制的形式输出a % b。

解题报告:

 String st = Integer.toString(num, base); // 把num当做10进制的数转成base进制的st(base <= 35).
int num = Integer.parseInt(st, base); // 把st当做base进制,转成10进制的int(parseInt有两个参数,第一个为要转的字符串,第二个为说明是什么进制).  
BigInter m = new BigInteger(st, base); // st是字符串,base是st的进制.

1.如果要将一个大数以2进制形式读入 可以使用cin.nextBigInteger(2);
当然也可以使用其他进制方式读入;
2.如果要将一个大数转换成其他进制形式的字符串 使用cin.toString(2);//将它转换成2进制表示的字符串

import java.math.*;

import java.io.*;

import java.util.*;

 

public class Main{

       public static void main (String args[])

       {

              Scanner cin=new Scanner(System.in);

              BigInteger p,m,ans;

              String str;

              int b;

              while(cin.hasNext())

              {

                     b=cin.nextInt();

                     if(b==0)

                     break;

                     p=cin.nextBigInteger(b);

                     m=cin.nextBigInteger(b);

                     ans=p.mod(m);

                     str=ans.toString(b);

                     System.out.println(str);

              }

       }

      

}

posted on 2011-05-10 10:15  LeeBlog  阅读(319)  评论(0编辑  收藏  举报