Quảng cáo
3 câu trả lời 183
N = int(input("Nhập N: "))
dem = 0
while N > 0:
chu_so = N % 10
if chu_so % 2 != 0:
dem += 1
N = N // 10
print("Số chữ số lẻ là:", dem)
Cách 1: Sử dụng Python (Ngắn gọn nhất)
Cách này chúng ta biến số thành một chuỗi văn bản rồi duyệt qua từng ký tự.
python
n = input("Nhập số nguyên dương N: ")
count = 0
for chu_so in n:
# Chuyển ký tự về số để kiểm tra chia hết cho 2 không
if int(chu_so) % 2 != 0:
count += 1
print(f"Số lượng chữ số lẻ là: {count}")
Hãy thận trọng khi sử dụng mã.
Cách 2: Sử dụng C++ (Dùng toán học)
Cách này dùng toán học để lấy từng chữ số cuối cùng của N ra kiểm tra.
cpp
#include <iostream>
using namespace std;
int main() {
long long n; // Dùng long long để chứa được số đến 1 triệu hoặc hơn
cout << "Nhap N: ";
cin >> n;
int count = 0;
// Xử lý trường hợp N = 0 (dù đề bảo số nguyên dương)
if (n == 0) {
cout << "So luong chu so le la: 0";
return 0;
}
while (n > 0) {
int chu_so = n % 10; // Lấy chữ số cuối cùng
if (chu_so % 2 != 0) {
count++;
}
n = n / 10; // Bỏ chữ số cuối đã kiểm tra
}
cout << "So luong chu so le la: " << count;
return 0;
}
Hãy thận trọng khi sử dụng mã.
Giải thích tư duy:
Lấy chữ số: Trong toán học, N % 10 sẽ cho em chữ số hàng đơn vị. Ví dụ:
.
Kiểm tra lẻ: Một số là số lẻ khi nó không chia hết cho 2 (chu_so % 2 != 0).
Lặp lại: Sau khi kiểm tra xong chữ số cuối, ta chia N cho 10 (n / 10) để "vứt" chữ số đó đi và tiếp tục với chữ số hàng chục.
N = int(input("Nhập N: "))
dem = 0
while N > 0:
chu_so = N % 10
if chu_so % 2 != 0:
dem += 1
N = N // 10
print("Số chữ số lẻ là:", dem)
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Hỏi từ APP VIETJACK8731
