OPTADS360
ATNETWORK
ATNETWORK
YOMEDIA
Banner-Video
IN_IMAGE

Hãy viết chương trình kiểm tra số nguyên dương n có phải là số đối xứng hay không

  bởi Trinh Hung 28/11/2021
ADMICRO/lession_isads=0

Câu trả lời (1)

  • #include<stdio.h>

    #include<conio.h>

    #include<math.h>

    /*

    Kiểm tra số đối xứng

    Định nghĩa : Số đối xứng là số đọc từ trái qua phải hay từ phải qua

    trái đều ra kết quả như nhau

    VD: ban đâu có số abcdef

    => số đảo ngược là fedcba

    nếu 2 số đó bằng nhau => đối xứng

    Vd : số 123 => đảo ngược là 321

    số 12345 => đảo ngược là 54321

    123 % 10 = 3 => ok

    123 / 10 = 12

    12 % 10 = 2 => ok

    12 / 10 = 1

    1 % 10 = 1 => ok

    1 / 10 = 0 = > end

    321 = 3*10^2 + 2*10^1 + 1*10^0

    54321 = 5*10^4 + 4*10^3 + 3*10^2 + 2*10^1 + 1*10^0

    => start = 10^(số chữ số - 1)

    => end = 10^0

    Ý tưởng: Tách ra từng chữ số và lấy chữ số đó bắt đầu nhân cho 10^(x)

    với x là số chữ số - 1 và qua mỗi lần thì x sẽ liên tục giảm 1 đơn vị

    Cách 2: số 123 ta tách thành các chữ số 3,2,1

    0 * 10 + 3 = 3

    3 * 10 + 2 = 32

    32 * 10 + 1 = 321

    */

    int main()

    {

    int n;

    // Nhập n ( n > 0 )

    do

    {

    printf("\nNhap vao n ( n > 0 ): ");

    scanf_s("%d", &n);

    if (n <= 0)

    {

    printf("\nGia tri ban nhap vao khong hop le. Xin vui long nhap lai! ");

    }

    } while (n <= 0);

    int SoChuSo = (int)log10((float)n) + 1;

    int SoNghichDao = 0;

    int themang = n;

    printf("\nSo %d co phai la so doi xung hay khong ?\n", n);

    while (themang != 0)

    {

    int ChuSo = themang % 10; // Lấy chữ số ra

    themang /= 10; // Bỏ chữ số vừa lấy ra

    SoNghichDao += ChuSo * pow(10.0, --SoChuSo);

    }

    /*while(themang != 0)

    {

    SoNghichDao = SoNghichDao * 10 + themang % 10;

    themang /= 10;

    }*/

    if(SoNghichDao == n)

    {

    printf("Dung !");

    }

    else

    {

    printf("Sai !");

    }

    getch();

    return 0;

    }

      bởi Huong Duong 29/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
 

Các câu hỏi mới

NONE
OFF