Quảng cáo
3 câu trả lời 133
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 VIETJACK
Đã trả lời bởi chuyên gia
Trong phần mềm Logo, để rùa lùi lại 100 bước ta gõ lệnh sau. A. FD 100 B. BK 100 C. RT 100 D. LT 10010116 -
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
9339 -
Hỏi từ APP VIETJACK8623
