Câu hỏi:
03/07/2023 340
Trong bài học trước, các em đã tìm hiểu bài toán Chọn mua đồ dùng học tập với các tình huống mua một đồ dùng hoặc hai đồ dùng. Nếu bài toán không cố định số lượng đổ dùng cần mua mà có thể mua một số đồ dùng với tổng giá không vượt quá T (đồng) và tổng mức độ yêu thích của các đồ dùng đó là lớn nhất, em hãy trình bày ý tưởng giải quyết bài toán.
Trong bài học trước, các em đã tìm hiểu bài toán Chọn mua đồ dùng học tập với các tình huống mua một đồ dùng hoặc hai đồ dùng. Nếu bài toán không cố định số lượng đổ dùng cần mua mà có thể mua một số đồ dùng với tổng giá không vượt quá T (đồng) và tổng mức độ yêu thích của các đồ dùng đó là lớn nhất, em hãy trình bày ý tưởng giải quyết bài toán.
Quảng cáo
Trả lời:
Đề giải quyết bài toán mua đồ bằng kĩ thuật duyệt ta có thể xét toàn bộ dãy bit độ dài n, với mỗi dãy bịt tương ứng với một phương án mua, ta tiến hành tính tổng giá để kiểm tra ràng buộc không vượt quá T (đồng) và tính tổng mức độ yêu thích để chọn phương án tối ưu.
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
- Sách - Sổ tay kiến thức trọng tâm Vật lí 11 VietJack - Sách 2025 theo chương trình mới cho 2k8 ( 45.000₫ )
- Trọng tâm Hóa học 11 dùng cho cả 3 bộ sách Kết nối, Cánh diều, Chân trời sáng tạo VietJack - Sách 2025 ( 58.000₫ )
- Sách lớp 11 - Trọng tâm Toán, Lý, Hóa, Sử, Địa lớp 11 3 bộ sách KNTT, CTST, CD VietJack ( 52.000₫ )
- Sách lớp 10 - Combo Trọng tâm Toán, Văn, Anh và Lí, Hóa, Sinh cho cả 3 bộ KNTT, CD, CTST VietJack ( 75.000₫ )
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Dãy bit độ dài n có dạng X = (x0,x1...xn-1), trong đó x1 bằng 0 hoặc 1 (0 <i<n-1) có thể mô tả theo cách đệ quy như sau:
- Nếu n > 0 thì phần tử đầu tiên của dãy bằng 0 hoặc 1 và n - 1 phần tử sau là dãy bit độ dài n - 1
- Ngược lại, nếu n = 0 thì dãy bit độ dài n là dãy rỗng
Việc xây dựng các dãy nhị phân theo thuật toán đệ quy như sau:
1. Bắt đầu từ X rỗng, lệnh x = [] và gọi thủ tục đệ quy backtrack(0) để xây dựng bắt đầu phần tử 0.
2. Thành phần i (0<i<n-1) sẽ lần lượt nhận giá trị 0 và 1 bằng lệnh for v in range(2): Với mỗi giá trị của v, thành phần i được ghi nhận vào xi của X bằng lệnh x.append(v). lệnh này đây v vào cuối ÀV Sau đó tiếp tục gợi để quy để xây dựng các thành phần còn lại (từ thành phần Xi+1... đến thành phần x.)
3. Để xét được khả năng tiếp theo, hành động quay lui được thực hiện bằng cách loại bỏ nhị phân thành phần cuối cùng của X bằng lệnh x.pop(). Việc quay lui cũng được diễn ra khí đang xây dựng thành phần x mà x, đã lần lượt nhận cả hai giá trị 0 và 1, khi đó thành phân x sẽ bị loại khỏi X và lùi về để xét khả năng tiếp theo cho thành phần Xi-1
Lời giải
n = int(input("Nhap n:"))
if ( n<2 or n % 2 == 0or n % 3 == 0 or n % 5 == 0):
print("không phải số nguyên tố ")
else:print("là số nguyên tố")
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.