Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Программирование
+1

Нужно найти симметричные точки | Задание по программированию

Писал код для этой задачи, если использую просто цикл for, то пишет, что занимает много времени. А если использую генератор то занимает много памяти, помогите пожалуйста.

12345678910111213
 N, M, P, R, C = (int(input()) for _ in range(5)) 
 
k = N * M * (P - 1) + M * (R - 1) + C 
 
fu = []

cl = 0

fu = [str(i) * i for i in range(1, k + 1) if (cl := cl + len(str(i) * i)) <= k + 8]

fu = ''.join(fu)[:k + 1]

print(fu[k - 1], fu[k - 2], fu[k], sep='\n') 


123456789101112131415
 N = int(input()) 
M = int(input()) 
P = int(input()) 
R = int(input()) 
C = int(input()) 
 
k = N * M * (P - 1) + M * (R - 1) + C 
 
fu = "" 
 
 
for i in range(1, k + 1) : 
    fu += (str(i) * i)[:k + 1 - len(fu)] 
 
print(fu[k - 1], fu[k - 2], fu[k], sep='\n') 
Дополнен

Название не то написал | Водные знаки

По дате
По рейтингу
Аватар пользователя
Мудрец

Где на скринах "симметричные точки"? Не нашел.
Самое первое ==>
Да и то скорее всего не полное задание. Там еще какие-то неведомые "драконы" и "страницы"... Такие что ли "страницы"?
[['1', '2', '2', '3', '3'], ['3', '4', '4', '4', '4'], ['5', '5', '5', '5', '5'], ['6', '6', '6', '6', '6'], ['6', '7', '7', '7', '7']...

123456789
 res = [] 
for i in range(1,int(input())): 
    res += str(i) * i 
r = [] 
k = 0 
for i in range(len(res)): 
    r += [res[k:k + 5]] 
    k += 5 
print(r)