十二进制转十进制(n进制转十进制也一样)
网上看到好多十进制转n进制的,很少有n进制转十进制的,今天来分享一种我的解法,欢迎大家交流批评。先上一段十二进制转十进制的代码,n进制转十进制也一样。
import java.util.Scanner;public class n进制转10进制 {static int N=12;//进制public static void main(String args[]) {//将十二进制的2B转为10进制System.out.println(transfrom("2B"));}static int transfrom(String str){char[] arr = str.toCharArray();int sum=0;for(int i=0;i<arr.length;i++){sum=(int) (help(arr[i])*Math.pow(N, arr.length-i-1))+sum;}return sum;}//辅助方法,主要是将A,B,C字符转数字,这是十进制的数字static int help(char c){if(c=='0')return 0;if(c=='1')return 1;if(c=='2')return 2;if(c=='3')return 3;if(c=='4')return 4;if(c=='5')return 5;if(c=='6')return 6;if(c=='7')return 7;if(c=='7')return 8;if(c=='9')return 9;if(c=='A')return 10;if(c=='B')return 11;return -1;}
}
看完发现思路很简单但,就是将n进制每一位字符转为十进制数字,然后求和即可。下面来一道练习题。
猪八戒网2017校园招聘 移动开发工程师 在线考试
编程题 | 20分 1/1
龟兔赛跑
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
小A和小B正就龟兔赛跑的问题进行辩论。小A说,兔子永远追不上乌龟,因为如果龟兔一开始相距10米(兔子在乌龟后面),那么当兔子跑了10米的时候,乌龟又会向前走了1米;当兔子再跑一米的时候,乌龟又向前走了0.1米……这样乌龟和兔子之间总会存在一段距离,不管多小。
小A知道小B的数学不好,所以加上赌注说如果一方无法反驳,就要满足另一方一个要求。为了难倒小B,小A采用了12进制作为输入!为此,小B请聪明的你帮忙解决问题。
小B认为,如果已知了乌龟、兔子的速度以及最初相距的距离,那么只要知道了兔子赶上乌龟的第一个整数秒,就可以驳倒小A了,你怎么看?
输入
输入数据第一行为一个10进制整数T(T<=100),表示有T组测试数据。每组输入数据包含三行,每行为一个12进制整数,为vt, vg, d,分别代表兔子的速度(m/s),乌龟的速度(m/s),在第0秒的龟兔之间的距离(m),输入数据保证0<vg<vt<=BBBB,0<d<=BBBBBBBB,且每个整数合法(没有前缀0)。
输出
输出数据采用10进制整数,代表最小的整数秒t,使得在t秒时兔子追上了乌龟。样例输入
2
5
2
9
10
A
1B
样例输出
3
12
题解如下:其中主要考察的就是十二进制转十进制。
package zbj;import java.util.Scanner;public class Main {public static void main(String args[]) {Scanner reader = new Scanner(System.in);int n = reader.nextInt();//在读数字后面紧接着读字符串,一点要处理数字后面的回车,切记,切记,切记啊reader.nextLine();for(int i=n;i>0;i--){String vt = reader.nextLine();String vg = reader.nextLine();String d = reader.nextLine();int t=trans(vt);int g=trans(vg);int dd=trans(d);int T=dd/(t-g);//余数的问题没考虑到if(dd%(t-g)!=0)T=T+1;System.out.println(T);}}static int trans(String str){char[] arr = str.toCharArray();int sum=0;for(int i=0;i<arr.length;i++){sum=(int) (help(arr[i])*Math.pow(12, arr.length-i-1))+sum;}return sum;}static int help(char c){if(c=='0')return 0;if(c=='1')return 1;if(c=='2')return 2;if(c=='3')return 3;if(c=='4')return 4;if(c=='5')return 5;if(c=='6')return 6;if(c=='7')return 7;if(c=='7')return 8;if(c=='9')return 9;if(c=='A')return 10;if(c=='B')return 11;return 0;}}
十二进制转十进制(n进制转十进制也一样)相关推荐
- 试题13 进制转换(十进制-R进制)
题目: 输入一个十进制数N,将它转换成R进制数输出.在10<=R<=16的情况下,用'A'表示10,用'B'表示11,用'C'表示12,用'D'表示13,用'E'表示14,用'F'表示15 ...
- 七进制转十进制java_Java基础(进制转换-)
进制概述: 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的"正"字计数法,以及类似的tally mark计数). 对于 ...
- js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制
var Stack = (function(){var items = new WeakMap();//先入后出,后入先出class Stack{constructor(){items.set(thi ...
- linux转换二进制命令,Linux--二进制,十进制,十六进制如何转换,单位换算
进制转换 十进制 数值:0~9 数位:123 位权:百位十位个位 二进制 数值:0~1 数位:10 位权:128-64-32-16-8-4-2-1 十六进制 数值 0~9,A(10),B(11),C( ...
- 1475 m进制转十进制
1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 将m进制数n转化成一个十进制数 m< ...
- 二进制-八进制-十进制-16进制之间的转换
进制之间的转换 主要用到连个函数: Convert.ToInt32(str,numbased):将字符串转成str,按照numbeased指定的进制转成10进制数: Convert.ToString( ...
- C++其他进制转十进制
C++其他进制转十进制 开发工具与关键技术:C++.VisualStudio 作者:何任贤 撰写时间:2019年04月15日 在学习C++基础过程中,接触到进制转换,个人想要尝试一下用C++来写一个进 ...
- java 进制转换 十进制转二,八,十六进制
十进制转其他进制 因为在java中位运算符是直接对数值的二进制数进行操作的 并且 写的是二进制数在输出和操作时是以十进制数的形式: 所以十进制转二,八,十六进制:就已经实现了二进制,八进制,十进制,十 ...
- 进制转换练习-其它进制转换为十进制
公式 数值*(进制**(位数-1))+...+... 其它进制转十进制,手工推算演练 int把其它进制转十进制的方法
- Bailian3255 十进制到六进制【进制】
十进制到六进制 总时间限制: 1000ms 内存限制: 65536kB 描述 进制转换: 将十进制(不超过int类型表示的范围)的数转换为六进制的数. 输入 输入为第一行是组数n,后面n行是需要进制转 ...
最新文章
- linux 下根据cpp文件快速书写头文件
- 个人代码库のC#千千静听 - 桌面歌词 (功能模拟)
- 经典问题:微服务和分布式的区别
- python3交互模式下 按上翻箭头显示乱码_CentOS 6.3中,Python-2.7.3交互模式下方向键、退格键等出现乱码...
- nlp论文——《Efficient Estimation of Word Representations in Vector Space》(向量空间中词表示的有效估计)
- struts2中的constant配置详解
- 关于公司通过CMMI3级认证
- 四个变量的图表怎么做_EXCEL系列之基础图表总结
- php curl CURLOPT_TIMEOUT_MS 小于1秒 解决方案
- 用户id oracle设置,Oracle中的架构,用户和功能ID
- Javaweb网易云音乐
- 反向题在测试问卷信效度_关于调查问卷的信度和效度检验
- android判断是否是蓝牙耳机,如何验证蓝牙耳机是否在Android上连接?
- Maix_Bit官方烧录软件和IDE的使用
- 视频剪辑素材哪里找?这个几个网站就够了。
- 计算机三级数据库考试知识点及题库总结(最全)
- 为什么模型loss为负
- BFS 巡逻机器人
- SOLR7实践(二)--DIH配置及使用
- 基于OpenCV的形状检测