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 |