Напишите программу, которая выполняет реверс массива: меняет местами первый и последний элементы, второй и предпоследний и т.д. входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 10000 . выходные данные программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами. примеры входные данные 6 1 2 3 4 5 6 выходные данные завтра сдавать! на питоне 60 за усердие
ответ:я не уверена в ответах(давно не решала такие задачи)
16
[29, 31]
[28, 30]
12
[21, 23]
[20, 22]
Объяснение:
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=69 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=53 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])
Запишу на обычном языке, Паскаль не помню уже.
А - первое число. Б - второе число.
Если А больше Б и Б div 5=0 тогда выводится на экран (' Б наименьшее число и нацело делится на 5')
Если Б больше А и А div 5=0 тогда выводится на экран (' А наименьшее число и нацело делится на 5')
Точно не помню как выглядит это в Паскале, но что-то типо такого
If A<B and A div 5=0 then writeln ('А наименьшее число и нацело делится на 5');
If B<A and B div 5=0 then writeln ('Б наименьшее число и нацело делится на 5');