Bài tập  /  Bài đang cần trả lời

Viết phương trình nhập vào

0 trả lời
Hỏi chi tiết
95
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải bài tập này, bạn có thể viết một chương trình bằng ngôn ngữ như C++ hoặc Python. Dưới đây là một ví dụ bằng Python để thực hiện yêu cầu:

```python
# Nhập số lượng phần tử trong mảng
N = int(input("Nhập số lượng phần tử N (N <= 100): "))
if N > 100:
print("N phải nhỏ hơn hoặc bằng 100.")
exit()

# Nhập mảng số nguyên
array = []
for i in range(N):
number = int(input(f"Nhập số thứ {i + 1}: "))
array.append(number)

# a) Đoạn số nguyên dương liên tiếp dài nhất
max_length = 0
current_length = 0
start_index = -1

for i in range(N):
if array[i] > 0:
current_length += 1
if current_length == 1:
start_index = i
else:
if current_length > max_length:
max_length = current_length
longest_start = start_index
current_length = 0

# Kiểm tra lần cuối
if current_length > max_length:
max_length = current_length
longest_start = start_index

if max_length > 0:
print("Đoạn số nguyên dương liên tiếp dài nhất:", array[longest_start:longest_start + max_length])

# b) Đoạn số nguyên dương liên tiếp có tổng lớn nhất
max_sum = float('-inf')
current_sum = 0
current_start = -1

for i in range(N):
if array[i] > 0:
if current_sum == 0:
current_start = i
current_sum += array[i]
else:
if current_sum > max_sum:
max_sum = current_sum
best_start = current_start
current_sum = 0

# Kiểm tra lần cuối
if current_sum > max_sum:
max_sum = current_sum
best_start = current_start

if max_sum > 0:
print("Đoạn số nguyên dương liên tiếp có tổng lớn nhất:", array[best_start:best_start + (max_sum if max_sum != 0 else 1)])

# c) Đoạn liên tiếp có tổng lớn nhất
max_sum = 0
current_sum = 0
current_start = 0
best_start = 0
best_end = 0

for i in range(N):
current_sum += array[i]

if current_sum < 0:
current_sum = 0
current_start = i + 1
elif current_sum > max_sum:
max_sum = current_sum
best_start = current_start
best_end = i

print("Đoạn liên tiếp có tổng lớn nhất:", array[best_start:best_end + 1])
```

### Cách hoạt động của chương trình:
- Nhập số lượng phần tử và các phần tử của mảng.
- Tìm kiếm đoạn số nguyên dương dài nhất, đoạn có tổng lớn nhất, và đoạn liên tiếp có tổng lớn nhất.
- In kết quả ra màn hình.

Bạn có thể chạy chương trình này trong một môi trường Python để kiểm tra và sử dụng.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Trắc nghiệm Lập trình Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư