杭电Hd 2031 进制转换
2013-01-03 20:35
447 查看
这是道进制转换的题目,这是第二次做,第一次憋了好久没写出来就过去了,这些天ACM集训,又遇到了,做了出来,做完后看看也不难,就是抓住求进制转换的定义,处理好负数和大于10的情况,就没问题了。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Hd2031 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();//数据n
int r=sc.nextInt(); //r进制
int a=n;
int b=r;
if(a<0){ //负数情况
System.out.print("-");
a=-a;
}
List list=new ArrayList();
while(a!=0){
r=a%b;
a=a/b;
if(r>=10&&r<=16){ //输出大于10的情况
if(r==10)
list.add("A");
if(r==11)
list.add("B");
if(r==12)
list.add("C");
if(r==13)
list.add("D");
if(r==14)
list.add("E");
if(r==15)
list.add("F");
}
else list.add(r);
}
for(int i=0;i<list.size();i++){
System.out.print(list.get(list.size()-i-1));
}
System.out.println();
}
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Hd2031 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();//数据n
int r=sc.nextInt(); //r进制
int a=n;
int b=r;
if(a<0){ //负数情况
System.out.print("-");
a=-a;
}
List list=new ArrayList();
while(a!=0){
r=a%b;
a=a/b;
if(r>=10&&r<=16){ //输出大于10的情况
if(r==10)
list.add("A");
if(r==11)
list.add("B");
if(r==12)
list.add("C");
if(r==13)
list.add("D");
if(r==14)
list.add("E");
if(r==15)
list.add("F");
}
else list.add(r);
}
for(int i=0;i<list.size();i++){
System.out.print(list.get(list.size()-i-1));
}
System.out.println();
}
}
}
相关文章推荐
- 进制转换 hd 2031
- 杭电2031 进制转换
- 如果要学进制转换可以参考这篇通俗易懂(杭电2031)
- 杭电 2031 进制转换【水】
- 杭电2031 进制转换
- 杭电2031 进制转换
- 进制转换,杭电0j-2031
- 杭电2031(进制转换)
- 杭电(hdu)2031 进制转换
- 杭电 2031 进制转换
- 杭电 acm 2031 进制转换
- 杭电ACM 2031 进制转换
- 杭电 2031 ( 进制转换 ) java
- 杭电ACM 2031: 进制转换
- 【杭电】[2031]进制转换
- 杭电ACM 2031 进制转换
- 进制转换(杭电2031)
- 杭电 2031 进制转换
- 杭电水题-2031 进制转换
- 杭电 2031 进制转换 (分离多位数 并同时存在数组中)