3
Đếm số lượng chữ số lẻ của số nguyên dương n trong C/C++?
0
Cộng đồng đã đăng:

Mình có số một số nguyên dương n bất kỳ, ví dụ:

n = 12345

Thì chương trình trả về kết quả là 3 vì có 3 chữ số là số lẻ trong số 12345, lập trình như thế nào để đạt được kết quả như vậy ạ, mình không giỏi đọc code lắm nên bạn nào kèm theo một chút giải thích mình cảm ơn rất nhiều.

thêm bình luận...
0
andi364110 đã đăng:

Để đếm chữ số của một số, cách đơn giản nhất là tách từng chữ số của số đó ra sau đó xét xem nó là chẵn hay lẻ, nếu là số lẻ thì ta tăng biến đếm lên.

Ví dụ số 12345, ta tách số 5 ra, 5 là số lẻ, cộng biến đến lên 1, tiếp tục tách số 4 ra, 4 là số chẵn bỏ qua, cứ như vậy cho đến khi tách hết dãy số.

#include <stdio.h>

int main()
{
    int n = 12345; // Số nguyên dương n
    int count = 0; // Biến đếm count

    while (n != 0)
    {
        // Tách số
        int num = n % 10;

        // Xét chẵn hay lẻ
        if (num % 2 != 0)
            count++;

        // Loại bỏ số hạng đã xét
        n /= 10;
    }

    printf("%d\n", count);
}

Tách từ cuối dãy số đi ngược về sẽ dễ dàng hơn bởi vì chúng ta chỉ việc chia cho 10, bạn có thể tách từ đầu đến cuối dãy số nếu bạn muốn.

Tách được số 5 xong làm sao nó tách qua số 4 ạ?

Cộng đồng 31.12.2021
thêm bình luận...
0
Cộng đồng đã đăng:

Bạn có thể ứng dụng cách tách số trong chuỗi C++, rồi sau đó kiểm tra số đó là số chẵn hay số lẻ để viết chương trình. Tham khảo:

  1. Tách số trong chuỗi C++
  2. Kiểm tra số chẵn lẻ trong C++
thêm bình luận...
0
Cộng đồng đã đăng:

Tách được số 5 xong làm sao nó tách qua số 4 ạ?

thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)