python的,答案是对的但通不过,大佬求解谢谢
查看原帖
python的,答案是对的但通不过,大佬求解谢谢
1231862
lzysxfcs楼主2024/4/12 11:26
text = input()
n = len(text)  #明文长度
row,col = 1,n  #初始化行列
for i in range(1,n+1):  #尝试找最接近的平方数
    if n%i== 0 and i <= n//i:
        row = i
        col = n//i
matrix = [['']*col for _ in range(row)]  #构建矩阵

index = 0
for i in range(col):  #按照由上到下,从左到右的顺序填充
    for j in range(row):
        if index <n:
            matrix[j][i] = text[index]
            index +=1
miwen = ''
for i in range(n):  #按照从左到右,从上到下的顺序输出
    miwen +=matrix[i // col][i % col]
print(miwen)

2024/4/12 11:26
加载中...