알고리즘/기초

회문수(palindrome) 구하기

leegeonwoo 2023. 8. 6. 22:56

회문수란, 숫자를 거꾸로 읽어도 앞으로 읽는 것과 같은 수를 말한다.

 

자바의 메서드를 이용하지않고 연산자만 이용하여 입력값이 회문수인지 아닌지 판별하는 프로그램이다.

public class Main {

public static void main(String[] args) {

int number = 12321;

int tmp = number;

 

int result = 0;

 

while(tmp !=0) {

result = result * 10 + tmp % 10;

tmp /= 10;

}

if(number == result) {

System.out.println(number + "는 회문수 입니다.");

}else {

System.out.println(number + "는 회문수가 아닙니다.");

}

}

}

숫자를 역순으로 바꾼뒤에 if문의 조건식을 통해 판별할 수 있다.

숫자를 역순으로 바꾸기 위해서는 10으로 나눠가며 10으로 나머지 연산을 하며 각 자릿수를 10을 곱해가며 더하면 역순을 구할 수 있다.

 

실행결과

12321는 회문수 입니다.

 

 

* 이해를 돕기 위해 '12345' 의 역순을 구하는 과정이다. *

result result * 10 tmp tmp % 10
0 0 12345 5
5 50 1234 4
54 540 123 3
543 5430 12 2
5432 54320 1 1
54321 - 0 -

 

 

 

 

728x90