Số đối xứng (palindrome) đọc từ trái sang phải và ngược lại đều giống nhau.
Thuật toán: nhập số, gán vào biến tạm. Dùng vòng lặp tách chữ số cuối (n%10), xây số đảo ngược (sum = sum*10 + r), bỏ chữ số cuối (n/=10). So sánh số đảo với số gốc.
Chương trình
#include <stdio.h>
#include <conio.h>
int main() {
int n, r, sum = 0, temp;
printf("Nhap mot so: ");
scanf("%d", &n);
temp = n;
while (n > 0) {
r = n % 10;
sum = sum * 10 + r;
n = n / 10;
}
if (temp == sum)
printf("%d la so doi xung!", temp);
else
printf("%d khong phai so doi xung!", temp);
getch();
return 0;
}
Kết quả
Nhap mot so: 12345 12345 khong phai so doi xung!