package ch4;
/**
* @author Mugrammer
*
*/
public class Excercise4_15 {
/**
* 회문수(palindrome) 구하기
* 거꾸로 읽어도 앞으로 읽는 것과 같은 수를 말한다.
* ex) 12321 13531
* hint > 나머지 연산자를 이용
* @param args
*/
public static void main(String[] args) {
int number = 12321;
int tmp = number;
int result = 0; // 변수 nubmer를 거꾸로 변환해서 담을 변수
// 자릿수를 구하고 자릿수만큼 10으로 나눈다.
// 10으로 나눈 나머지를 큰 자릿수만큼 곱하여 result에 담는다.
// 10으로 나눈 몫은 다시 tmp에 담는다.
for(int i=countNum(tmp); -1 < i; i--){
result += (tmp%10)*(int)Math.pow(10, i);
System.out.println(result);
tmp = tmp/10;
System.out.println(tmp);
}
System.out.println(result);
if(number == result)
System.out.println(number + "는 회문수입니다.");
else
System.out.println(number + "는 회문수가 아닙니다");
}
/**
* 파라미터로 넘겨받은 숫자의 자릿수를 판별한다.
*
* @param int a
* @return
*/
public static int countNum(int a){
int cnt = 0;
while(a != 0){
a = a/10;
if(a == 0) return cnt;
cnt++;
}
return 0;
}
}
'Code' 카테고리의 다른 글
Codility- PermMissingElem (0) | 2020.08.14 |
---|---|
배열 섞기 (난수발생, 자리수구하기) (0) | 2013.01.05 |
자바의 정석 문제풀이(4_14) (0) | 2012.04.08 |
자바의 정식 문제풀이(4_13) (0) | 2012.04.02 |
자바의 정석 문제풀이(4_12) (0) | 2012.04.01 |