Hello bạn,
Để giải bài toán đếm số lượng chữ số lẻ của một số nguyên dương n bằng C++, ta có thể sử dụng phương pháp đệ quy đuôi như sau:
c++Copy code
#include <iostream>
using namespace std;
int count_odd_digits(int n, int count=0) {
if (n == 0) {
return count;
} else {
int last_digit = n % 10;
if (last_digit % 2 == 1) {
count += 1;
}
n /= 10;
return count_odd_digits(n, count);
}
}
int main() {
int n;
cout << "Enter a positive integer: ";
cin >> n;
int result = count_odd_digits(n);
cout << "Number of odd digits in " << n << ": " << result << endl;
return 0;
}
Ở đây, hàm count_odd_digits
được định nghĩa để đếm số lượng chữ số lẻ của số nguyên dương n
. Hàm này có hai tham số đầu vào: n
là số nguyên dương cần đếm chữ số lẻ, và count
là biến đếm số chữ số lẻ đã tìm thấy (mặc định ban đầu là 0). Hàm sử dụng phương pháp đệ quy đuôi để thực hiện công việc này.
Trong hàm main
, chúng ta yêu cầu người dùng nhập một số nguyên dương bất kỳ từ bàn phím. Sau đó, chúng ta gọi hàm count_odd_digits
để đếm số lượng chữ số lẻ của số nguyên này và in kết quả ra màn hình.
Ví dụ, nếu chúng ta nhập số nguyên dương 12345, chương trình sẽ in ra “Number of odd digits in 12345: 3” (tức là số lượng chữ số lẻ của số 12345 là 3).
Chúc bạn ngày mới học tập hiệu quả nhé