회문수(palindrome) 구하기알고리즘/기초2023. 8. 6. 22:56
Table of Contents
회문수란, 숫자를 거꾸로 읽어도 앞으로 읽는 것과 같은 수를 말한다.
자바의 메서드를 이용하지않고 연산자만 이용하여 입력값이 회문수인지 아닌지 판별하는 프로그램이다.
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
'알고리즘 > 기초' 카테고리의 다른 글
입력된 데이터를 읽고 각 숫자의 개수를 출력하는 프로그램 (0) | 2023.08.07 |
---|---|
거스름 돈 계산하기 (0) | 2023.08.07 |
주어진 문자열을 숫자인지 판별하는 프로그램 (0) | 2023.08.06 |
피보나치 수열 (0) | 2023.08.06 |
화씨를 섭씨로 변환하는 코드 (0) | 2023.08.06 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!