Tháng: Tháng 3 2025

58 Học Python – Tính trung bình cộng các số chính phương trong mảng

Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tính trung bình cộng của các số chính phương trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Kiểm tra từng số trong mảng có phải là số chính phương hay không.
  2. Nếu là số chính phương, cộng vào tổng và đếm số lượng số chính phương.
  3. Tính trung bình cộng bằng cách lấy tổng chia cho số lượng.
  4. Hiển thị kết quả.

Chương Trình Python

Cách 1: Sử dụng vòng lặp và kiểm tra thủ công

 

import math




# Hàm kiểm tra số chính phương

def la_so_chinh_phuong(n):

    can = int(math.sqrt(n))

    return can * can == n




# Hàm tính trung bình cộng các số chính phương trong mảng

def tinh_tb_so_chinh_phuong(mang):

    tong = 0

    dem = 0

    for so in mang:

        if la_so_chinh_phuong(so):

            tong += so

            dem += 1

   

    return tong / dem if dem > 0 else 0




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tính trung bình cộng

ket_qua = tinh_tb_so_chinh_phuong(mang)

print(f"Trung bình cộng các số chính phương trong mảng là: {ket_qua}")

 

Cách 2: Sử dụng list comprehension (Tối ưu hơn)

 

import math




def la_so_chinh_phuong(n):

    can = int(math.sqrt(n))

    return can * can == n




# Hàm tính trung bình cộng các số chính phương trong mảng (cách tối ưu)

def tinh_tb_so_chinh_phuong_toi_uu(mang):

    so_chinh_phuong = [so for so in mang if la_so_chinh_phuong(so)]

    return sum(so_chinh_phuong) / len(so_chinh_phuong) if so_chinh_phuong else 0




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tính trung bình cộng

ket_qua = tinh_tb_so_chinh_phuong_toi_uu(mang)

print(f"Trung bình cộng các số chính phương trong mảng là: {ket_qua}")

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng vòng lặpO(n)Dễ hiểu, trực quanMã dài hơn
Dùng list comprehensionO(n)Ngắn gọn, tối ưuCần hiểu list comprehension

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 4

Nhập phần tử thứ 2: 7

Nhập phần tử thứ 3: 9

Nhập phần tử thứ 4: 16

Nhập phần tử thứ 5: 5

Nhập phần tử thứ 6: 25

Trung bình cộng các số chính phương trong mảng là: 13.5

Kết Luận

Bài viết đã hướng dẫn cách tính trung bình cộng các số chính phương trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng vòng lặp, dễ hiểu.
  • Cách tối ưu: Dùng list comprehension, ngắn gọn và hiệu quả hơn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

57 Học Python – Tìm số nguyên xuất hiện nhiều lần nhất trong mảng

Bài 57 Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên xuất hiện nhiều lần nhất trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Sử dụng từ điển (dictionary) hoặc thư viện collections.Counter để đếm số lần xuất hiện của từng số.
  3. Xác định số có tần suất xuất hiện lớn nhất.
  4. Hiển thị kết quả.

Chương Trình Python

Cách 1: Sử dụng từ điển dict()

 

# Hàm tìm số xuất hiện nhiều nhất trong mảng

def tim_so_xuat_hien_nhieu_nhat(mang):

    tan_suat = {}

    for so in mang:

        tan_suat[so] = tan_suat.get(so, 0) + 1

   

    max_so = max(tan_suat, key=tan_suat.get)

    return max_so, tan_suat[max_so]




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số xuất hiện nhiều nhất

so_max, so_lan = tim_so_xuat_hien_nhieu_nhat(mang)




# In kết quả

print(f"Số xuất hiện nhiều nhất là {so_max}, xuất hiện {so_lan} lần")

 

Cách 2: Sử dụng collections.Counter

 

from collections import Counter




# Hàm tìm số xuất hiện nhiều nhất trong mảng

def tim_so_xuat_hien_nhieu_nhat_toi_uu(mang):

    tan_suat = Counter(mang)

    max_so = max(tan_suat, key=tan_suat.get)

    return max_so, tan_suat[max_so]




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số xuất hiện nhiều nhất

so_max, so_lan = tim_so_xuat_hien_nhieu_nhat_toi_uu(mang)




# In kết quả

print(f"Số xuất hiện nhiều nhất là {so_max}, xuất hiện {so_lan} lần")

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng từ điểnO(n)Dễ hiểu, linh hoạtCần duyệt thủ công
Dùng CounterO(n)Ngắn gọn, tối ưuCần import thư viện collections

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 7

Nhập phần tử thứ 1: 5

Nhập phần tử thứ 2: 2

Nhập phần tử thứ 3: 5

Nhập phần tử thứ 4: 8

Nhập phần tử thứ 5: 5

Nhập phần tử thứ 6: 2

Nhập phần tử thứ 7: 8

Số xuất hiện nhiều nhất là 5, xuất hiện 3 lần

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng từ điển dict(), đơn giản và dễ hiểu.
  • Cách tối ưu: Dùng Counter từ thư viện collections, ngắn gọn và nhanh hơn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

56 Học Python – Đếm số lần xuất hiện của từng số trong mảng

Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để đếm số lần xuất hiện của từng số trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Sử dụng từ điển (dictionary) để lưu trữ số lần xuất hiện của từng số.
  3. Hiển thị kết quả.

Chương Trình Python

Cách 1: Sử dụng từ điển dict()

 

# Hàm đếm số lần xuất hiện của từng số trong mảng

def dem_so_lan_xuat_hien(mang):

    tan_suat = {}

    for so in mang:

        if so in tan_suat:

            tan_suat[so] += 1

        else:

            tan_suat[so] = 1

    return tan_suat




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Đếm số lần xuất hiện của từng số

tan_suat = dem_so_lan_xuat_hien(mang)




# In kết quả

print("Số lần xuất hiện của từng số trong mảng:")

for so, lan in tan_suat.items():

    print(f"Số {so} xuất hiện {lan} lần")

 

Cách 2: Sử dụng collections.Counter

 

from collections import Counter




# Hàm đếm số lần xuất hiện của từng số trong mảng

def dem_so_lan_xuat_hien_toi_uu(mang):

    return Counter(mang)




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Đếm số lần xuất hiện của từng số

tan_suat = dem_so_lan_xuat_hien_toi_uu(mang)




# In kết quả

print("Số lần xuất hiện của từng số trong mảng:")

for so, lan in tan_suat.items():

    print(f"Số {so} xuất hiện {lan} lần")

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng từ điểnO(n)Dễ hiểu, linh hoạtCần vòng lặp xử lý thủ công
Dùng CounterO(n)Ngắn gọn, tối ưuCần import thư viện collections

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 5

Nhập phần tử thứ 5: 8

Nhập phần tử thứ 6: 20

Số lần xuất hiện của từng số trong mảng:

Số 10 xuất hiện 2 lần

Số 20 xuất hiện 2 lần

Số 5 xuất hiện 1 lần

Số 8 xuất hiện 1 lần

Kết Luận

Bài viết đã hướng dẫn cách đếm số lần xuất hiện của từng số trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng từ điển dict(), đơn giản và dễ hiểu.
  • Cách tối ưu: Dùng Counter từ thư viện collections, ngắn gọn và nhanh hơn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

55 Học Python – Đếm số lượng số nguyên khác nhau mới nhất

Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để đếm số lượng số nguyên khác nhau trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Sử dụng tập hợp (set) để loại bỏ các số trùng lặp.
  3. Trả về số lượng phần tử khác nhau trong tập hợp.

Chương Trình Python

Cách 1: Sử dụng tập hợp set()

 

# Hàm đếm số lượng số nguyên khác nhau trong mảng

def dem_so_khac_nhau(mang):

    return len(set(mang))  # Sử dụng tập hợp để loại bỏ số trùng lặp




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Đếm số lượng số nguyên khác nhau

so_luong_khac_nhau = dem_so_khac_nhau(mang)

print("Số lượng số nguyên khác nhau trong mảng:", so_luong_khac_nhau)

 

Cách 2: Dùng vòng lặp và từ điển để tối ưu bộ nhớ

 

# Hàm đếm số lượng số nguyên khác nhau bằng từ điển

def dem_so_khac_nhau_toi_uu(mang):

    tan_suat = {}

    for so in mang:

        tan_suat[so] = True  # Ghi nhận sự xuất hiện của số đó

    return len(tan_suat)




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Đếm số lượng số nguyên khác nhau

so_luong_khac_nhau = dem_so_khac_nhau_toi_uu(mang)

print("Số lượng số nguyên khác nhau trong mảng:", so_luong_khac_nhau)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng set()O(n)Ngắn gọn, dễ hiểuSử dụng bộ nhớ để lưu tập hợp
Dùng từ điểnO(n)Giảm chi phí bộ nhớCần vòng lặp xử lý thủ công

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 5

Nhập phần tử thứ 5: 8

Nhập phần tử thứ 6: 20

Số lượng số nguyên khác nhau trong mảng: 4

Kết Luận

Bài viết đã hướng dẫn cách đếm số lượng số nguyên khác nhau trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng set(), nhanh chóng và dễ hiểu.
  • Cách tối ưu: Dùng từ điển để quản lý bộ nhớ hiệu quả hơn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

54 Học Python – Tìm số nguyên nhỏ thứ 3 trong mảng mới nhất

Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên nhỏ thứ 3 trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Xác định số nhỏ nhất, số nhỏ nhì và số nhỏ thứ ba.
  3. Trả về số nhỏ thứ ba.

Chương Trình Python

Cách 1: Sử dụng danh sách và hàm sorted()

 

# Hàm tìm số nhỏ thứ 3 trong mảng

def tim_so_nho_thu_ba(mang):

    if len(mang) < 3:

        return None  # Không đủ số lượng phần tử

   

    mang_khong_trung = sorted(set(mang))  # Sắp xếp và loại bỏ số trùng lặp

   

    return mang_khong_trung[2] if len(mang_khong_trung) >= 3 else None




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số nhỏ thứ 3

so_nho_thu_ba = tim_so_nho_thu_ba(mang)

print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)

 

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

 

# Hàm tìm số nhỏ thứ 3 tối ưu

def tim_so_nho_thu_ba_toi_uu(mang):

    if len(mang) < 3:

        return None  # Không đủ số lượng phần tử

   

    so_nho_nhat = so_nho_nhi = so_nho_thu_ba = float('inf')

   

    for so in mang:

        if so < so_nho_nhat:

            so_nho_thu_ba, so_nho_nhi, so_nho_nhat = so_nho_nhi, so_nho_nhat, so

        elif so_nho_nhat < so < so_nho_nhi:

            so_nho_thu_ba, so_nho_nhi = so_nho_nhi, so

        elif so_nho_nhi < so < so_nho_thu_ba:

            so_nho_thu_ba = so

   

    return so_nho_thu_ba if so_nho_thu_ba != float('inf') else None




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số nhỏ thứ 3

so_nho_thu_ba = tim_so_nho_thu_ba_toi_uu(mang)

print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng sorted() + set()O(n log n)Code ngắn gọn, dễ hiểuHiệu suất thấp hơn khi mảng lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về hiệu suất và bộ nhớCần nhiều dòng code hơn

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 5

Nhập phần tử thứ 4: 8

Nhập phần tử thứ 5: 12

Nhập phần tử thứ 6: 15

Số nguyên nhỏ thứ 3 trong mảng: 10

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên nhỏ thứ 3 trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng sorted() và set(), dễ hiểu nhưng có độ phức tạp cao hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ và tăng hiệu suất.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

53 Học Python – Tìm số nguyên lớn nhì trong mảng mới nhất

Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên lớn nhì trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Xác định số lớn nhất.
  3. Tìm số lớn nhì bằng cách bỏ qua số lớn nhất và lấy số lớn nhất còn lại.

Chương Trình Python

Cách 1: Sử dụng danh sách và hàm max()

# Hàm tìm số lớn nhì trong mảng

def tim_so_lon_nhi(mang):

if len(mang) < 2:

return None  # Không đủ số lượng phần tử

 

so_lon_nhat = max(mang)

mang_loai_bo_max = [so for so in mang if so != so_lon_nhat]  # Loại bỏ số lớn nhất

 

return max(mang_loai_bo_max, default=None)

 

# Nhập số lượng phần tử của mảng

n = int(input(“Nhập số phần tử của mảng: “))

mang = [int(input(f”Nhập phần tử thứ {i+1}: “)) for i in range(n)]

 

# Tìm số lớn nhì

so_lon_nhi = tim_so_lon_nhi(mang)

print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

# Hàm tìm số lớn nhì tối ưu

def tim_so_lon_nhi_toi_uu(mang):

if len(mang) < 2:

return None  # Không đủ số lượng phần tử

 

so_lon_nhat = so_lon_nhi = float(‘-inf’)

 

for so in mang:

if so > so_lon_nhat:

so_lon_nhi, so_lon_nhat = so_lon_nhat, so

elif so > so_lon_nhi and so != so_lon_nhat:

so_lon_nhi = so

 

return so_lon_nhi if so_lon_nhi != float(‘-inf’) else None

 

# Nhập số lượng phần tử của mảng

n = int(input(“Nhập số phần tử của mảng: “))

mang = [int(input(f”Nhập phần tử thứ {i+1}: “)) for i in range(n)]

 

# Tìm số lớn nhì

so_lon_nhi = tim_so_lon_nhi_toi_uu(mang)

print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng list comprehension + maxO(n)Dễ hiểu, code ngắn gọnTốn bộ nhớ nếu danh sách lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về bộ nhớ và hiệu suấtCần nhiều dòng code hơn

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 5

Nhập phần tử thứ 4: 8

Nhập phần tử thứ 5: 20

Nhập phần tử thứ 6: 15

Số nguyên lớn nhì trong mảng: 15

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên lớn nhì trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng list comprehension và hàm max, dễ hiểu nhưng tốn bộ nhớ hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ và tăng hiệu suất.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

52 Học Python – Tìm số âm lớn nhất trong mảng mới nhất

Bài 52: Tìm số âm lớn nhất trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số âm lớn nhất trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Lọc ra các số âm.
  3. Tìm số lớn nhất trong các số âm đó.

Chương Trình Python

Cách 1: Sử dụng vòng lặp đơn giản

 

# Hàm tìm số âm lớn nhất trong mảng

def tim_so_am_lon_nhat(mang):

    so_am = [so for so in mang if so < 0]  # Lọc ra các số âm

    return max(so_am, default=None)  # Tìm số lớn nhất hoặc trả về None nếu không có số âm




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số âm lớn nhất

so_am_lon_nhat = tim_so_am_lon_nhat(mang)

print("Số âm lớn nhất trong mảng:", so_am_lon_nhat)

 

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

 

# Hàm tìm số âm lớn nhất trong mảng tối ưu

def tim_so_am_lon_nhat_toi_uu(mang):

    so_am_lon_nhat = None

    for so in mang:

        if so < 0 and (so_am_lon_nhat is None or so > so_am_lon_nhat):

            so_am_lon_nhat = so

    return so_am_lon_nhat




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm số âm lớn nhất

so_am_lon_nhat = tim_so_am_lon_nhat_toi_uu(mang)

print("Số âm lớn nhất trong mảng:", so_am_lon_nhat)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng list comprehension + maxO(n)Dễ hiểu, code ngắn gọnTốn bộ nhớ nếu danh sách lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về bộ nhớCần nhiều dòng code hơn

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: -3

Nhập phần tử thứ 2: -7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: -1

Nhập phần tử thứ 5: 5

Nhập phần tử thứ 6: -8

Số âm lớn nhất trong mảng: -1

Kết Luận

Bài viết đã hướng dẫn cách tìm số âm lớn nhất trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng list comprehension và hàm max, dễ hiểu nhưng tốn bộ nhớ hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

51 Học Python – Tìm số nguyên tố lớn nhất trong mảng mới nhất

Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm các số nguyên tố trong một mảng và tính trung bình cộng của chúng. Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Xác Định Số Nguyên Tố

Một số là nguyên tố nếu:

  • Lớn hơn 1.
  • Không chia hết cho bất kỳ số nào khác ngoài 1 và chính nó.

Chúng ta sẽ sử dụng hai cách để kiểm tra số nguyên tố:

  1. Cách cơ bản sử dụng vòng lặp kiểm tra từng số.
  2. Cách tối ưu hóa sử dụng thuật toán Sàng Eratosthenes.

Chương Trình Python

Cách 1: Kiểm tra từng số (Cách cơ bản)

 

# Hàm kiểm tra số nguyên tố (Cách cơ bản)

def la_so_nguyen_to(so):

    if so < 2:

        return False

    for i in range(2, int(so**0.5) + 1):

        if so % i == 0:

            return False

    return True




# Hàm tìm các số nguyên tố trong mảng và tính trung bình

def tinh_trung_binh_so_nguyen_to(mang):

    danh_sach_nguyen_to = [so for so in mang if la_so_nguyen_to(so)]

    if len(danh_sach_nguyen_to) == 0:

        return 0

    return sum(danh_sach_nguyen_to) / len(danh_sach_nguyen_to)




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tính trung bình số nguyên tố

trung_binh = tinh_trung_binh_so_nguyen_to(mang)

print("Trung bình cộng các số nguyên tố trong mảng:", trung_binh)

 

Cách 2: Tối ưu hóa với thuật toán Sàng Eratosthenes

 

# Hàm Sàng Eratosthenes để tìm số nguyên tố nhanh hơn

def sang_eratosthenes(gioi_han):

    la_so_nguyen_to = [True] * (gioi_han + 1)

    la_so_nguyen_to[0], la_so_nguyen_to[1] = False, False

    for i in range(2, int(gioi_han**0.5) + 1):

        if la_so_nguyen_to[i]:

            for j in range(i * i, gioi_han + 1, i):

                la_so_nguyen_to[j] = False

    return {x for x in range(gioi_han + 1) if la_so_nguyen_to[x]}




# Hàm tìm số nguyên tố và tính trung bình sử dụng Sàng Eratosthenes

def tinh_trung_binh_so_nguyen_to_toi_uu(mang):

    if not mang:

        return 0

    gioi_han = max(mang)

    tap_nguyen_to = sang_eratosthenes(gioi_han)

    danh_sach_nguyen_to = [so for so in mang if so in tap_nguyen_to]

    if len(danh_sach_nguyen_to) == 0:

        return 0

    return sum(danh_sach_nguyen_to) / len(danh_sach_nguyen_to)




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tính trung bình số nguyên tố

trung_binh = tinh_trung_binh_so_nguyen_to_toi_uu(mang)

print("Trung bình cộng các số nguyên tố trong mảng:", trung_binh)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Kiểm tra từng sốO(n√m)Dễ hiểu, dễ triển khaiChậm khi mảng có số lớn
Sàng EratosthenesO(m log log m)Tốc độ nhanh hơn với nhiều sốTốn bộ nhớ hơn

Trong đó:

  • n là số lượng phần tử trong mảng.
  • m là số lớn nhất trong mảng.

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 3

Nhập phần tử thứ 2: 7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 13

Nhập phần tử thứ 5: 17

Nhập phần tử thứ 6: 20

Trung bình cộng các số nguyên tố trong mảng: 10.0

Kết Luận

Bài viết đã hướng dẫn cách tính trung bình cộng số nguyên tố trong mảng bằng hai cách:

  • Cách cơ bản: Kiểm tra từng số, phù hợp với mảng nhỏ.
  • Cách tối ưu hóa: Sử dụng Sàng Eratosthenes, nhanh hơn khi mảng chứa số lớn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

50 Học Python – Tính trung bình các số nguyên tố trong mảng

Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm các số nguyên tố trong một mảng và tính tổng của chúng. Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Xác Định Số Nguyên Tố

Một số là nguyên tố nếu:

  • Lớn hơn 1.
  • Không chia hết cho bất kỳ số nào khác ngoài 1 và chính nó.

Chúng ta sẽ sử dụng hai cách để kiểm tra số nguyên tố:

  1. Cách cơ bản sử dụng vòng lặp kiểm tra từng số.
  2. Cách tối ưu hóa sử dụng thuật toán Sàng Eratosthenes.

Chương Trình Python

Cách 1: Kiểm tra từng số (Cách cơ bản)

 

# Hàm kiểm tra số nguyên tố (Cách cơ bản)

def la_so_nguyen_to(so):

    if so < 2:

        return False

    for i in range(2, int(so**0.5) + 1):

        if so % i == 0:

            return False

    return True




# Hàm tìm các số nguyên tố trong mảng và tính tổng

def tim_va_tinh_tong_so_nguyen_to(mang):

    danh_sach_nguyen_to = [so for so in mang if la_so_nguyen_to(so)]

    tong = sum(danh_sach_nguyen_to)

    return danh_sach_nguyen_to, tong




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm và tính tổng số nguyên tố

danh_sach_nguyen_to, tong = tim_va_tinh_tong_so_nguyen_to(mang)

print("Các số nguyên tố trong mảng:", danh_sach_nguyen_to)

print("Tổng các số nguyên tố trong mảng:", tong)

 

Cách 2: Tối ưu hóa với thuật toán Sàng Eratosthenes

 

# Hàm Sàng Eratosthenes để tìm số nguyên tố nhanh hơn

def sang_eratosthenes(gioi_han):

    la_so_nguyen_to = [True] * (gioi_han + 1)

    la_so_nguyen_to[0], la_so_nguyen_to[1] = False, False

    for i in range(2, int(gioi_han**0.5) + 1):

        if la_so_nguyen_to[i]:

            for j in range(i * i, gioi_han + 1, i):

                la_so_nguyen_to[j] = False

    return {x for x in range(gioi_han + 1) if la_so_nguyen_to[x]}




# Hàm tìm số nguyên tố và tính tổng sử dụng Sàng Eratosthenes

def tim_va_tinh_tong_so_nguyen_to_toi_uu(mang):

    if not mang:

        return [], 0

    gioi_han = max(mang)

    tap_nguyen_to = sang_eratosthenes(gioi_han)

    danh_sach_nguyen_to = [so for so in mang if so in tap_nguyen_to]

    tong = sum(danh_sach_nguyen_to)

    return danh_sach_nguyen_to, tong




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Tìm và tính tổng số nguyên tố

danh_sach_nguyen_to, tong = tim_va_tinh_tong_so_nguyen_to_toi_uu(mang)

print("Các số nguyên tố trong mảng:", danh_sach_nguyen_to)

print("Tổng các số nguyên tố trong mảng:", tong)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Kiểm tra từng sốO(n√m)Dễ hiểu, dễ triển khaiChậm khi mảng có số lớn
Sàng EratosthenesO(m log log m)Tốc độ nhanh hơn với nhiều sốTốn bộ nhớ hơn

Trong đó:

  • n là số lượng phần tử trong mảng.
  • m là số lớn nhất trong mảng.

Ví Dụ Chạy Chương Trình

Nhập số phần tử của mảng: 6

Nhập phần tử thứ 1: 3

Nhập phần tử thứ 2: 7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 13

Nhập phần tử thứ 5: 17

Nhập phần tử thứ 6: 20

Các số nguyên tố trong mảng: [3, 7, 13, 17]

Tổng các số nguyên tố trong mảng: 40

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên tố trong mảng và tính tổng của chúng bằng hai cách:

  • Cách cơ bản: Kiểm tra từng số, phù hợp với mảng nhỏ.
  • Cách tối ưu hóa: Sử dụng Sàng Eratosthenes, nhanh hơn khi mảng chứa số lớn.

Hy vọng bài viết hữu ích cho bạn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

49 Học Python – In ra các số nguyên tố trong mảng và tổng

Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python

Giới Thiệu

  • Sắp xếp mảng theo thứ tự tăng dần là một bài toán cơ bản trong lập trình.
  • Có nhiều thuật toán có thể thực hiện nhiệm vụ này, từ đơn giản đến tối ưu hóa.
  • Trong bài viết này, chúng ta sẽ triển khai hai cách sắp xếp mảng: cách cơ bản với thuật toán Sắp xếp nổi bọt (Bubble Sort) và cách tối ưu hóa sử dụng thuật toán Sắp xếp nhanh (QuickSort).

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Cách 1: Sử Dụng Thuật Toán Sắp Xếp Nổi Bọt (Đơn Giản)

 

# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nổi bọt

def sap_xep_noi_bot(mang):

    n = len(mang)

    for i in range(n - 1):

        for j in range(n - 1 - i):

            if mang[j] > mang[j + 1]:

                mang[j], mang[j + 1] = mang[j + 1], mang[j]  # Hoán đổi vị trí




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Gọi hàm sắp xếp

sap_xep_noi_bot(mang)

print("Mảng sau khi sắp xếp tăng dần:", mang)

 

Giải Thích:

  • Sắp xếp nổi bọt là một thuật toán sắp xếp đơn giản.
  • So sánh từng cặp phần tử và hoán đổi nếu phần tử trước lớn hơn phần tử sau.
  • Nhược điểm: Hiệu suất kém với mảng lớn (độ phức tạp O(n²)).

Cách 2: Sử Dụng Thuật Toán Sắp Xếp Nhanh (Tối Ưu Hóa)

 

# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nhanh

def sap_xep_nhanh(mang):

    if len(mang) <= 1:

        return mang

    chot = mang[len(mang) // 2]  # Chọn phần tử làm chốt

    trai = [x for x in mang if x < chot]

    giua = [x for x in mang if x == chot]

    phai = [x for x in mang if x > chot]

    return sap_xep_nhanh(trai) + giua + sap_xep_nhanh(phai)




# Nhập số lượng phần tử của mảng

n = int(input("Nhập số phần tử của mảng: "))

mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]




# Gọi hàm sắp xếp

mang_sap_xep = sap_xep_nhanh(mang)

print("Mảng sau khi sắp xếp tăng dần:", mang_sap_xep)

 

Giải Thích:

  • Sắp xếp nhanh chia nhỏ mảng thành các phần nhỏ hơn dựa vào chốt và sắp xếp đệ quy.
  • Độ phức tạp trung bình O(n log n), nhanh hơn nhiều so với Sắp xếp nổi bọt.
  • Hiệu suất cao với các tập dữ liệu lớn.

So Sánh Hai Cách

Phương phápĐộ phức tạpHiệu suất
Sắp xếp nổi bọtO(n²)Chậm với mảng lớn
Sắp xếp nhanhO(n log n)Nhanh hơn, tối ưu hơn

Ứng Dụng

  • Sắp xếp nổi bọt phù hợp khi dữ liệu nhỏ hoặc cần thuật toán dễ hiểu.
  • Sắp xếp nhanh phù hợp khi cần hiệu suất cao với tập dữ liệu lớn.

Kết Luận

Cả hai thuật toán đều giúp sắp xếp mảng theo thứ tự tăng dần. Nếu bạn làm việc với dữ liệu nhỏ, Sắp xếp nổi bọt có thể đủ dùng. Nhưng nếu xử lý dữ liệu lớn, Sắp xếp nhanh là lựa chọn tối ưu. Hãy thử nghiệm và lựa chọn thuật toán phù hợp cho từng trường hợp cụ thể!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao