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