문제)10 진수 n 의 이진수가 회귀수이면 이 수 n 을 이진 회귀수라 하자.
21 은 10 진수로 회귀수가 아니지만 , 2 진수로는 회귀수이다.(10101)
1 에서 100 000 사이에 있는 이진 회귀수를 모두 출력하라.
class Main{
public static void main(String[] args){
for(int num=1;num<100000;num++){
String temp=""; //뒤집어서 담을 변수 초기값 설정
String a=Integer.toBinaryString(num); //입력값을 2진수로 변환해서 길이를 구하기위해 String으로 변환
for(int i=a.length()-1;i>=0;i--){ //이진수의 길이만큼 거꾸로 반복
temp+=a.charAt(i); //숫자 뒤집어서 담기
}
if(Long.parseLong(a)==Long.parseLong(temp)){
System.out.println(num);
}
}
}
}
'개발하자 > JAVA문제풀이' 카테고리의 다른 글
frequency (수의 빈도수 계산) (0) | 2015.01.06 |
---|---|
윷놀이 (0) | 2015.01.06 |
버블정렬(재귀함수 사용) (0) | 2015.01.06 |
이진수로 변경하는 프로그램작성(재귀함수 이용) (0) | 2015.01.06 |
수뒤집기&회귀수 문제 (0) | 2015.01.06 |