0965303260
TP. Hồ Chí Minh

[C]. Số Thuận Nghịch

Trong bài học này các bạn sẽ học về số thuận nghịch hay còn gọi là số đối xứng

NỘI DUNG : 

  • Số Thuận Nghịch
  • Video Tutorial

main

1. Số Thuận Nghịch

Số đối xứng hay số thuận nghịch là số mà khi bạn đọc từ trái qua phải hay từ phải qua trái nó đều giống nhau, ví dụ số 12321, 5555, 888, 3, 4....

Để kiểm tra 1 số N có đối xứng hay không bạn thực hiện lật ngược số ban đầu lại để thu được số lật ngược của số ban đầu, sau đó so sánh số ban đầu với số lật ngược của nó nếu giống nhau thì số N là số thuận nghịch

Ví dụ N = 1234 thì lật ngược của N là 4321, 1234 khác 4321 nên N không thuận nghịch

N = 12321 thì lật ngược của N là 12321, 12321 giống 12321 nên N là số thuận nghịch 

Code : 

#include 

int thuan_nghich(int n){
    int m = 0, tmp = n;
    while(n != 0){
        m = m * 10 + n % 10; // chú ý câu lệnh này
        n /= 10;
    }
    if(tmp == m){ // cần so sánh m với tmp, vì n đã = 0
        return 1;
    }
    return 0;
}

int main(){
    int n = 12321;
    if(thuan_nghich(n)){
        printf("YES\n");
    }
    else{
        printf("NO\n");
    }
    return 0;
}

Output : 

YES

Giải thích : 

  1. m = 0, n = 12321, m = m * 10 + n % 10 = 0 * 10 + 1 = 1, sau đó n = n / 10 = 1232
  2. m = 1, n = 1232, m = m * 10 + n % 10 = 1 * 10 + 2 = 12, sau đó n = n / 10 = 123
  3. m = 12, n = 123, m = m * 10 + n % 10 = 12 * 10 + 3 = 123, sau đó n = n / 10 = 12
  4. m = 123, n = 12, m = m * 10 + n % 10 = 123 * 10 + 2 = 1232, sau đó n = n / 10 = 1
  5. m = 1232, n = 1, m = m * 10 + n % 10 = 1232 * 10 + 1 = 12321, sau đó n = n / 10 = 0
  6. Vòng lặp dừng khi n = 0
  7. So sánh tmp với m, vì giá trị của n sau vòng lặp while đã bằng 0 rồi nên không thể đem so sánh với m

Vậy mấu chốt để lật ngược được số ban đầu là bạn cần biết cách thêm 1 chữ số vào số hiện tại, ví dụ bạn đang có m = 128 mà bạn muốn bổ sung chữ số 5 vào hàng đơn vị của 128 thì bạn cần nhân 128 với 10 sau đó cộng thêm 5. 

Sau này khi bạn học tới chuỗi ký tự bạn có thể giải bài tập này nhanh hơn



Xem thêm video bài giảng của mình về số thuận nghịch để hiểu rõ hơn nhé : 

GdSkT9W6VGk