728x90
728x170
팰린드롬(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
그리드형(광고전용)
'Computer Science > Algorithm' 카테고리의 다른 글
완전제곱수(Perfect Square Number, 제곱수, 정사각수) (0) | 2022.08.31 |
---|---|
팩토리얼(Factorial) (0) | 2022.08.31 |
완전수(Perfect Number), 부족수(Deficient Number), 과잉수(Abundant Number) (0) | 2022.08.31 |
가우스 계산법(Gaussian Calculation) (0) | 2022.08.31 |
부분집합의 합 문제(Subset Sum Problem) (0) | 2021.07.22 |
플로이드-워셜 알고리즘(Floyd-Warshall Algorithm) (0) | 2021.07.22 |
코사라주 알고리즘(Kosaraju's Algorithm) (0) | 2021.07.04 |
존슨 알고리즘(Johnson's Algorithm) (0) | 2021.07.04 |