51nod_1030 大数进制转换
2017-04-24 10:47
169 查看
1030 大数进制转换
基准时间限制:3 秒 空间限制:131072 KB
分值: 320 难度:7级算法题
给出一个36进制的大数(0-9,A-Z),将其转为10进制并输出。
Input
输入:36进制的大数,每一位用0-9,A-Z来表示,A表示10,Z表示35。(A的长度 <= 100000)
Output
输出:该数的10进制表示
Input示例
1AZ
Output示例
1691
思路:JAVA暴力就能过了。。。。。JAVA大法实好啊……
AC代码:
基准时间限制:3 秒 空间限制:131072 KB
分值: 320 难度:7级算法题
给出一个36进制的大数(0-9,A-Z),将其转为10进制并输出。
Input
输入:36进制的大数,每一位用0-9,A-Z来表示,A表示10,Z表示35。(A的长度 <= 100000)
Output
输出:该数的10进制表示
Input示例
1AZ
Output示例
1691
思路:JAVA暴力就能过了。。。。。JAVA大法实好啊……
AC代码:
import java.math.BigInteger; import java.util.Scanner; public class Test { public static void main(String args[]){ String a; Scanner cin=new Scanner(System.in); a=cin.next(); BigInteger r=new BigInteger("1"); int t=a.length()-1; //System.out.println(t); BigInteger x=new BigInteger("36"); BigInteger b=new BigInteger("0"); for(int i=t;i>=0;i--){ if(a.charAt(i)=='0'){} else if(a.charAt(i)>'0'&&a.charAt(i)<='9'){ //System.out.println("--"); String tp=""; tp=tp+a.charAt(i); BigInteger tp1=new BigInteger(tp); tp1=tp1.multiply(r); //tp1.multiply(r); b=b.add(tp1); } else if(a.charAt(i)>='A'&&a.charAt(i)<='Z'){ int z=a.charAt(i)-'A'+10; String tp=Integer.toString(z); //tp=tp+a.charAt(i); BigInteger tp1=new BigInteger(tp); tp1=tp1.multiply(r); b=b.add(tp1); } r=r.multiply(x); } cin.close(); System.out.println(b.toString()); } }
相关文章推荐
- 51Nod-1030-大数进制转换
- 浅谈大数的进制转换
- 51nod 1005 大数加法
- 51nod 1005 大数加法
- 51nod_1029 大数除法
- 51nod 1027 大数乘法
- 浅谈大数的进制转换
- 九度1138:进制转换(大数除余)
- 【编程学习】大数进制转换
- 51nod 1027 大数乘法
- 51nod 1185 威佐夫游戏 V2 (用乘法模拟解决大数精度问题)
- 51nod 1029 大数除法
- 51Nod 1116 K进制下的大数
- I - 大数乘法 51Nod - 1027
- 51Nod 1005 大数加法
- 51nod 大数乘法
- js的大数运算 跟经典的收藏 结合前一篇的收藏 解决工作中的一个大数进制转换问题
- HDU6034 Balala Power!(大数进制转换)
- 51Nod-1028-大数乘法 V2
- POJ 1220 大数任意进制转换