728x90
728x90
팰린드롬(Palindrome)
팰린드롬(Palindrome)
- 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시하고, 앞으로 읽으나 거꾸로 읽으나 같은 문장 또는 낱말을 회문(回文) 또는 팰린드롬(Palindrome) 이라고 한다.
- 예) "소주 만 병만 주소", "여보 안경 안보여"
- 수학에서도 111, 12321과 같이 똑바로 읽으나 거꾸로 읽으나 같은 수를 팰린드롬 수(Palindrome Number) 또는 대칭수라고 한다.
숫자 뒤집기
- 숫자 k = 123, r = 0 으로 초기화되어 있다고 할 때, 다음의 순환문을 완료하면 k의 값은 0이 되고 r의 값은 k의 값이 거꾸로 뒤집어진 321이 된다.
int k = 123; int r = 0;
숫자 뒤집기 알고리즘
while (k != 0) { p = k % 10; r = r * 10 + p; k /= 10; }
- 다음의 코드는 위와 같은 결과를 출력한다.
while (k != 0) { r = (r * 10) + (k % 10); k /= 10; }
예제
숫자 123을 뒤집은 수 출력하기
#include <iostream> using namespace std; int main() { int k = 123, r = 0; while (k != 0) { r = r * 10 + k % 10; k /= 10; } cout << r << endl; return 0; }
321
숫자 123이 팰린드롬 수(대칭수)인지 확인하기
#include <iostream> using namespace std; int main() { int k = 123, r = 0; while (k != 0) { r = r * 10 + k % 10; k /= 10; } if (k == r) { cout << "Palindrome Number" << endl; } else { cout << "Normal Number" << endl; } return 0; }
Normal Number
728x90
728x90
'Computer Science > 알고리즘' 카테고리의 다른 글
[Algorithm] 선택 정렬(Selection Sort) (0) | 2022.10.06 |
---|---|
[Algorithm] 최대(Max), 최소(Min), 최빈(Mode) (0) | 2022.10.06 |
[Algorithm] 콜라츠 추측(Collatz Conjecture) ; 우박수(Hailstone Sequence), 3N + 1 Problem (0) | 2022.09.01 |
[Algorithm] 소수(Prime Number) ; 쌍둥이 소수(Twin Primes), 메르센 소수(Mersenne Primes), 골드바흐의 추측(Goldbach's Conjecture) (0) | 2022.09.01 |
[Algorithm] 완전제곱수(Perfect Square Number, 제곱수, 정사각수) (0) | 2022.08.31 |
[Algorithm] 팩토리얼(Factorial) (0) | 2022.08.31 |
[Algorithm] 완전수(Perfect Number), 부족수(Deficient Number), 과잉수(Abundant Number) (0) | 2022.08.31 |
[Algorithm] 배수(Multiple)와 약수(Divisor) (0) | 2022.08.31 |