蓝桥杯--十六进制转八进制。。。
2014-01-28 20:25
246 查看
看到那个题,先开始选择的是 从十六进制转化为十进制,然后十进制转八进制,超时了,
然后开了两个锦囊。。转成二进制还是超时了。。。。。求帮助,求不超时。。
package lanqiaotest;
import java.util.Scanner;
class sixteenturn8_1 {
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int n=input.nextInt();
String a[]=new String
;
for(int i=0;i<n;i++)
{
a[i]=input.next();
}
String temp="";
String temp1="";
for(int i=0;i<n;i++)
{
for(int j=0;j<a[i].length();j++)
{
switch(a[i].charAt(j)){
case '0': temp="0000";break;
case '1': temp="0001";break;
case '2': temp="0010";break;
case '3': temp="0011";break;
case '4': temp="0100";break;
case '5': temp="0101";break;
case '6': temp="0110";break;
case '7': temp="0111";break;
case '8': temp="1000";break;
case '9': temp="1001";break;
case 'A': temp="1010";break;
case 'B': temp="1011";break;
case 'C': temp="1100";break;
case 'D': temp="1101";break;
case 'E': temp="1110";break;
case 'F': temp="1111";break;
}
temp1=temp1+temp;
}
a[i]=temp1;
temp="";
temp1="";
}
for(int i=0;i<n;i++)
{ int k=0;
while(a[i].charAt(k)=='0'){
a[i]=a[i].substring(1);
}
if(a[i].length()%3==1) a[i]="00"+a[i];
if(a[i].length()%3==2) a[i]="0"+a[i];
for(int j=0;j<a[i].length();j=j+3)
{
switch(a[i].substring(j,j+3))
{
case "000":temp="0";break;
case "001":temp="1";break;
case "010":temp="2";break;
case "011":temp="3";break;
case "100":temp="4";break;
case "101":temp="5";break;
case "110":temp="6";break;
case "111":temp="7";break;
}
temp1=temp1+temp;
}
System.out.print(temp1+" ");
temp1="";
temp="";
}
}
}
然后开了两个锦囊。。转成二进制还是超时了。。。。。求帮助,求不超时。。
package lanqiaotest;
import java.util.Scanner;
class sixteenturn8_1 {
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int n=input.nextInt();
String a[]=new String
;
for(int i=0;i<n;i++)
{
a[i]=input.next();
}
String temp="";
String temp1="";
for(int i=0;i<n;i++)
{
for(int j=0;j<a[i].length();j++)
{
switch(a[i].charAt(j)){
case '0': temp="0000";break;
case '1': temp="0001";break;
case '2': temp="0010";break;
case '3': temp="0011";break;
case '4': temp="0100";break;
case '5': temp="0101";break;
case '6': temp="0110";break;
case '7': temp="0111";break;
case '8': temp="1000";break;
case '9': temp="1001";break;
case 'A': temp="1010";break;
case 'B': temp="1011";break;
case 'C': temp="1100";break;
case 'D': temp="1101";break;
case 'E': temp="1110";break;
case 'F': temp="1111";break;
}
temp1=temp1+temp;
}
a[i]=temp1;
temp="";
temp1="";
}
for(int i=0;i<n;i++)
{ int k=0;
while(a[i].charAt(k)=='0'){
a[i]=a[i].substring(1);
}
if(a[i].length()%3==1) a[i]="00"+a[i];
if(a[i].length()%3==2) a[i]="0"+a[i];
for(int j=0;j<a[i].length();j=j+3)
{
switch(a[i].substring(j,j+3))
{
case "000":temp="0";break;
case "001":temp="1";break;
case "010":temp="2";break;
case "011":temp="3";break;
case "100":temp="4";break;
case "101":temp="5";break;
case "110":temp="6";break;
case "111":temp="7";break;
}
temp1=temp1+temp;
}
System.out.print(temp1+" ");
temp1="";
temp="";
}
}
}
相关文章推荐
- 蓝桥杯 BASIC-12 基础练习 十六进制转八进制
- 蓝桥杯-基础练习 十六进制转八进制
- [蓝桥杯]基础练习 十六进制转八进制
- "蓝桥杯“基础练习:十六进制转八进制
- 蓝桥杯 基础训练 十六进制转八进制
- 蓝桥杯基础练习十六进制转八进制
- 蓝桥杯 十六进制转八进制
- 蓝桥杯---十六进制转八进制
- 蓝桥杯 基础练习 十六进制转八进制
- 【蓝桥杯】基础练习 十六进制转八进制
- 蓝桥杯 十六进制转八进制输出
- 蓝桥杯:十六进制转八进制的高效算法(正确版)
- 蓝桥杯-基础练习12 十六进制转八进制
- 蓝桥杯 基础练习 十六进制转八进制
- 蓝桥杯基础训练十六进制转八进制(不简单)
- 蓝桥杯 十六进制转八进制 字符串处理
- 蓝桥杯 BASIC-12 十六进制转八进制
- 蓝桥杯:十六进制转八进制
- [蓝桥杯]十六进制转八进制
- 蓝桥杯——算法训练 十六进制转八进制