YOMEDIA
NONE

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

Theo dõi Vi phạm
ATNETWORK

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
 
NONE

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

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON