-
앞뒤가 같은 10진수 만들기알고리즘/알고리즘 퍼즐68 2020. 5. 31. 23:46
[문제]
10진수, 2진수, 8진수 그 어느 것으로 표현하여도 대칭수가 되는 수 중, 10진수의 10 이상에서의 최솟값을 구해 보세요.
예) 9(10진수) = 1001(2진수) = 11(8진수)
※ 예시는 10진수에서 10 미만이므로 대상 외
[언어]
Java(1.8)
[풀이]
123456789101112131415161718192021222324252627//10진수의 10 이상의 수(짝수의 2진수는 맨 뒷자리가 0이기 때문 대칭일 수 없음)int i = 11;while(true) {//10진수 변환String dec = String.valueOf(i);//뒤집기String decR = new StringBuffer(dec).reverse().toString();//8진수 변환String oct = Integer.toOctalString(i);//뒤집기String octR = new StringBuffer(oct).reverse().toString();//2진수 변환String bin = Integer.toBinaryString(i);//뒤집기String binR = new StringBuffer(bin).reverse().toString();//대칭수인지 비교if(dec.equals(decR) && oct.equals(octR) && bin.equals(binR)) {break;}//짝수의 2진수는 맨 뒷자리가 0이기 때문 대칭일 수 없기 때문에 홀수만 검사i+=2;}cs [답]
585