Trang chủ Tin Học Lớp 7 làm python nha Trạm thu phát tín hiệu vệ tinh sau khi xử lý được biểu diễn thành dãy n...
Câu hỏi :

làm python nha Trạm thu phát tín hiệu vệ tinh sau khi xử lý được biểu diễn thành dãy n bít là dãy nhị phân (gồm giá trị 0 và 1), các bit được đánh số từ 1 đến n. Một đoạn tín hiệu gọi là chuẩn nếu số lượng bit 0 bằng bit 1. Hai đoạn bít được gọi là khác nhau nếu tồn tại một vị trí có thứ tự khác nhau trong tín hiệu ban đầu. Trước tiên cần xác định xem tín hiệu thu nhận được có bao nhiêu đoạn tín hiệu chuẩn. Ví dụ: Dãy tín hiệu 1 0 1 0 1 1 có 6 đoạn tín hiệu chuẩn là: - (1) từ vị trí 1 đến 2 (1, 0) - (2) từ vị trí 1 đến 4 (1, 0, 1 , 0) - (3) từ vị trí 2 đến 3 (0, 1) - (4) từ vị trí 2 đến 5 (0, 1, 0, 1) - (5) từ vị trí 3 đến 4 (1, 0) - (6) từ vị trí 4 đến 5 (0, 1) Yêu cầu: Cho n và dãy nhị phân, hãy cho biết có bao nhiêu đoạn tín hiệu chuẩn.

Lời giải 1 :

PYTHON

#Tạo hàm con đếm số đoạn tín hiệu

def count_standard_sequences(binary_sequence):
    n = len(binary_sequence)
    count = 0

    for i in range(n):
        for j in range(i + 1, n + 1):
            sub_sequence = binary_sequence[i:j]
            zeros = sub_sequence.count('0')
            ones = len(sub_sequence) - zeros

            if zeros == ones:
                count += 1

    return count

# Nhập vào số n là độ dài dãy nhị phân và nhập dãy nhị phân 
n = int(input("Nhập độ dài dãy nhị phân: "))
binary_sequence = input("Nhập dãy nhị phân (cách nhau bởi dấu cách): ").split()

# Kiểm tra độ dài dãy nhị phân và đưa ra kết quả là các đoạn tín hiệu chuẩn
if len(binary_sequence) != n:
    print("Dãy nhị phân không đúng độ dài.")
else:
    count = count_standard_sequences(binary_sequence)
    print("Số lượng đoạn tín hiệu chuẩn:", count)

image

Lời giải 2 :

def dem(n, a):
    dem = 0
    i = 0
    while i < n:
        num_0 = 0
        num_1 = 0
        j = i
        while j < n:
            if a[j] == '0':
                num_0 += 1
            else:
                num_1 += 1
            if num_0 == num_1:
                dem += 1
            j += 1
        i += 1
    return dem
n = int(input())
a = input().split()
print(dem(n, a))

image

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK