Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Tìm chuỗi sao cho mỗi ký tự lớn hơn về mặt từ điển so với ký tự ngay sau nó


Giả sử chúng ta có một số n; chúng ta phải tạo một chuỗi chữ thường độ dài n+1 sao cho ký tự tại bất kỳ vị trí nào lớn hơn về mặt từ điển so với ký tự ngay sau nó.

Ví dụ, nếu n=15, đầu ra là "ponmlkjihgfedcba".

Giải pháp:

  • temp_str = "", extra = n % 26
  • Nếu extra >= 1: for i từ 26-(extra+1) đến 25: temp_str += str[i]
  • count = n // 26
  • for i từ 1 đến count: for j từ 0 đến 25: temp_str += str[j]
  • Trả về temp_str

Ví dụ

def show_string(n, str):
    temp_str = ""
    extra = n % 26
    if (extra >= 1):
        for i in range(26 - (extra + 1), 26):
            temp_str += str[i]
    count = n // 26
    for i in range(1, count + 1):
        for j in range(26):
            temp_str += str[j]
    return temp_str

n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))

Đầu vào

15

Đầu ra

ponmlkjihgfedcba