Cho dãy số gồm N phần tử nguyên dương. Hãy đếm số lượng các phần tử lẻ có trong dãy số đó (0<N<105)
Quảng cáo
3 câu trả lời 165
Để giải bài toán này, ta chỉ cần duyệt qua từng phần tử trong dãy số và kiểm tra xem số đó có phải là số lẻ hay không. Nếu là số lẻ, ta tăng biến đếm lên 1.
Dưới đây là mã giả của thuật toán:
NhậpNKhaibá
Dưới đây là mã Python thực hiện điều này:
`python
# Nhập số lượng phần tử của dãy số
N = int(input("Nhập số lượng phần tử của dãy số: "))
# Khởi tạo biến đếm
dem = 0
# Duyệt từng phần tử trong dãy số
for i in range(N):
# Nhập phần tử thứ i
phan_tu = int(input("Nhập phần tử thứ {}: ".format(i+1)))
# Kiểm tra xem phần tử có phải là số lẻ không
if phan_tu % 2 != 0:
# Nếu là số lẻ, tăng biến đếm lên 1
dem += 1
# In ra số lượng các phần tử lẻ trong dãy số
print("Số lượng các phần tử lẻ trong dãy số là:", dem)
`
Lưu ý: Đoạn mã trên yêu cầu nhập dãy số từ người dùng. Bạn cũng có thể thay thế bước này bằng cách nhập dãy số từ một nguồn dữ liệu khác như file hoặc danh sách đã được khai báo trước đó.
Để đếm số lượng phần tử lẻ trong dãy số gồm N phần tử, ta có thể thực hiện các bước sau:
1. Khởi tạo biến đếm số lượng phần tử lẻ (count) ban đầu bằng 0.
2. Duyệt qua từng phần tử trong dãy số.
3. Nếu phần tử đó là số lẻ (tức là số dư của phần tử khi chia cho 2 khác 0), tăng giá trị của count lên 1.
4. Kết thúc duyệt, count sẽ chứa số lượng phần tử lẻ trong dãy số.
Dưới đây là mã Python minh họa:
`python
def dem_so_le(danh_sach):
count = 0
for so in danh_sach:
if so % 2 != 0:
count += 1
return count
# Ví dụ sử dụng hàm:
danh_sach = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
so_le = dem_so_le(danh_sach)
print("Số lượng phần tử lẻ trong dãy số là:", so_le)
`
Với N phần tử trong dãy số, việc duyệt qua tất cả các phần tử mất O(N) thời gian. Do đó, độ phức tạp của thuật toán này là O(N), nơi N là số lượng phần tử trong dãy số.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
3923
-
3535
-
3056