Bài toán tìm tổng con lớn nhất. Giả sử một công ty du lịch đã thiết kế một chương trình du lịch cố định
Trả lời Câu 31.10 trang 65 SBT Tin học 10 sách Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 10.
Giải SBT Tin học 10 Kết nối tri thức Bài 31: Thực hành: Viết chương trình đơn giản
Câu 31.10 trang 65 SBT Tin học 10: Bài toán tìm tổng con lớn nhất.
Giả sử một công ty du lịch đã thiết kế một chương trình du lịch cố định đi qua lần lượt n địa điểm. Mỗi khách hàng lại có các đánh giá khác nhau cho mỗi địa điểm này. Giả sử khách hàng tên An đã đánh giá các địa điểm trong chương trình du lịch theo dãy các giá trị: A[0], A[1], ..., A[n - 1]
Công ty muốn sắp sắp cho khách hàng An đi một phần của chương trình du lịch bằng cách đi theo một dãy con liên tục các địa điểm, ví dụ:
i, i + 1, i + 2, ..., j
Mục đích của việc chọn chương trình cho khách hàng An là làm sao cho tổng giá trị:
A[i] + A[i + 1] + ... + A[j] (1) là lớn nhất có thể.
Cho trước dãy các đánh giá n địa điểm của chương trình du lịch, hãy thiết kế một chương trình du lịch con cho khách hàng sao cho tổng (1) là lớn nhất.
Ví dụ nêu dãy các đánh giá là: 1, 7, -5, -9, 3, -1,10, -6, 5
thì chương trình du lịch con đi qua các địa điểm với đánh giá 3, -1, 10 có tổng lớn nhất tức là làm khách hàng hài lòng nhất.
Trả lời:
Hướng dẫn:
Gọi S(i, j) = A[i] + A[i + 1] + ... + A[j]
Khi đó bài toán đặt ra là cần tìm i, j sao cho giá trị S(i, j) lớn nhất. Từ đó suy ra lời giải đơn giản sau:
A = [1,7,-5,-9,3,-1,10,-6, 5]
n = len(A)
imax = 0
jmax = 0
Smax = A[0]
for i in range(n):
S = 0
for j in range(i,n):
S = S + A[j]
if S > Smax:
imax = i
jmax = j
Smax = S
print("Chương trình du lịch tối ưu là:")
print(imax, jmax)
for i in range(imax, jmax+1):
print (A[i], end = " ")
Xem thêm lời giải sách bài tập Tin học lớp 10 bộ sách Kết nối tri thức hay, chi tiết nhất:
Câu 31.1 trang 63 SBT Tin học 10: Viết chương trình yêu cầu nhập số thực dương a. Chương trình cần kiểm soát lỗi nhập dữ liệu như sau...
Câu 31.2 trang 63 SBT Tin học 10: Bài toán sắp xếp: Cho trước một dãy số A, viết chương trình sắp xếp dãy số này theo thứ tự tăng dần...
Câu 31.3 trang 64 SBT Tin học 10: Viết chương trình in bảng cửu chương ra màn hình. Yêu cầu bảng cửu chương in ra thành 10 khối bao gồm 2 hàng, 5 cột như sau...
Câu 31.4 trang 64 SBT Tin học 10: Cho trước dãy số bất kì A. Em hãy viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy A mà 3 số hạng liên tiếp có giá trị là 1, 2, 3...
Câu 31.5 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập một xâu kí tự bất kì từ bàn phím. Cần sắp xếp lại các chữ số thì dồn sang trái...
Câu 31.6 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập số tự nhiên n, sau đó nhập n họ tên đầy đủ học sinh trong lớp. Khi kết thúc sẽ in ra danh sách...
Câu 31.7 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập hai số tự nhiên Y1, Y2 là số năm, Y2 > Y1. Tính xem trong khoảng thời gian từ năm Y1...
Câu 31.8 trang 65 SBT Tin học 10: Gọi ƯCLN(a, b) là hàm ƯCLN của hai số tự nhiên a, b. Dễ thấy ta có ƯCLN(a, b) = ƯCLN(b, a%b) nếu b > 0...
Câu 31.9 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố khác nhau của n theo hàng ngang trên màn hình...
Câu 31.10 trang 65 SBT Tin học 10: Bài toán tìm tổng con lớn nhất.Giả sử một công ty du lịch đã thiết kế một chương trình du lịch cố định đi qua lần lượt n địa điểm...
Xem thêm lời giải sách bài tập Tin học lớp 10 bộ sách Kết nối tri thức hay, chi tiết nhất:
Bài 29: Nhận biết lỗi chương trình
Bài 30: Kiểm thử và gỡ lỗi chương trình
Bài 32: Ôn tập lập trình Python
Xem thêm các chương trình khác:
- Soạn văn lớp 10 (hay nhất) – Kết nối tri thức
- Tác giả tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Soạn văn lớp 10 (ngắn nhất) – Kết nối tri thức
- Tóm tắt tác phẩm Ngữ văn lớp 10 - KNTT
- Bố cục tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Nội dung chính tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Văn mẫu lớp 10 – Kết nối tri thức
- Giải Chuyên đề học tập Ngữ văn 10 – Kết nối tri thức
- Giải sgk Toán 10 – Kết nối tri thức
- Giải sbt Toán 10 – Kết nối tri thức
- Giải Chuyên đề Toán 10 – Kết nối tri thức
- Lý thuyết Toán 10 – Kết nối tri thức
- Chuyên đề dạy thêm Toán 10 Kết nối tri thức (2024 có đáp án)
- Giải sgk Tiếng Anh 10 Global Success – Kết nối tri thức
- Giải sbt Tiếng Anh 10 Global Success – Kết nối tri thức
- Ngữ pháp Tiếng Anh 10 Global success
- Bài tập Tiếng Anh 10 Global success theo Unit có đáp án
- Trọn bộ Từ vựng Tiếng Anh 10 Global success đầy đủ nhất
- Giải sgk Vật lí 10 – Kết nối tri thức
- Giải sbt Vật lí 10 – Kết nối tri thức
- Giải Chuyên đề Vật lí 10 – Kết nối tri thức
- Lý thuyết Vật lí 10 – Kết nối tri thức
- Chuyên đề dạy thêm Vật lí 10 cả 3 sách (2024 có đáp án)
- Giải sgk Hóa học 10 – Kết nối tri thức
- Lý thuyết Hóa học 10 – Kết nối tri thức
- Giải sbt Hóa học 10 – Kết nối tri thức
- Giải Chuyên đề Hóa học 10 – Kết nối tri thức
- Chuyên đề dạy thêm Hóa 10 cả 3 sách (2024 có đáp án)
- Giải sgk Sinh học 10 – Kết nối tri thức
- Giải sbt Sinh học 10 – Kết nối tri thức
- Lý thuyết Sinh học 10 – Kết nối tri thức
- Giải Chuyên đề Sinh học 10 – Kết nối tri thức
- Giải sgk Lịch sử 10 – Kết nối tri thức
- Giải sbt Lịch sử 10 – Kết nối tri thức
- Giải Chuyên đề Lịch sử 10 – Kết nối tri thức
- Lý thuyết Lịch sử 10 - Kết nối tri thức
- Giải sgk Địa lí 10 – Kết nối tri thức
- Lý thuyết Địa Lí 10 – Kết nối tri thức
- Giải sbt Địa lí 10 – Kết nối tri thức
- Giải Chuyên đề Địa lí 10 – Kết nối tri thức
- Giải sgk Công nghệ 10 – Kết nối tri thức
- Lý thuyết Công nghệ 10 – Kết nối tri thức
- Giải sgk Giáo dục Kinh tế và Pháp luật 10 – Kết nối tri thức
- Giải sbt Giáo dục Kinh tế và Pháp luật 10 – Kết nối tri thức
- Giải Chuyên đề Kinh tế và pháp luật 10 – Kết nối tri thức
- Lý thuyết KTPL 10 – Kết nối tri thức
- Giải sgk Giáo dục quốc phòng - an ninh 10 – Kết nối tri thức
- Lý thuyết Giáo dục quốc phòng 10 – Kết nối tri thức
- Giải sbt Giáo dục quốc phòng 10 – Kết nối tri thức
- Giải sgk Hoạt động trải nghiệm 10 – Kết nối tri thức
- Giải sbt Hoạt động trải nghiệm 10 – Kết nối tri thức
- Giải sgk Giáo dục thể chất 10 – Kết nối tri thức