Условие Дано 20 целых чисел a1, a2, ..., a20. Найти сумму a2+a4+a6+ Формат входных данных Вводятся целые числа a1, ..., a20 (−215≤ai≤215−1 Формат выходных данных Требуется вывести искомую сумму
#т.к ищем сумму элементов с чётными номерами и нумеруем последовательность с 1, то индексы берём нечётные
for index in range(1, len(input_list), 2):
summ += input_list[index]
print(summ)
mon84
18.02.2020
Использован алгоритм 115б "Генератор перестановок", опубликованный в книге М.И.Агеев, В.П.Алик, Ю.И.Марков. Библиотека алгоритмов 101б - 150б. Москва, "Советское радио", 1978 и переведенный на Паскаль с языка АЛГОЛ-60.
const n=7; var p,d:array[2..n] of integer; a:array[1..n] of string:=('426','62','84','4','2','8','24'); prim115:boolean;
procedure Perm(n:integer); var t:string; k,q:integer; label index,iter,trans; begin if prim115 then begin prim115:=False; for k:=2 to n do begin p[k]:=0; d[k]:=1 end end; k:=0; index: q:=p[n]+d[n]; p[n]:=q; if q=n then begin d[n]:=-1; goto iter end; if q<>0 then goto trans; d[n]:=1; k:=k+1; iter: if n>2 then begin n:=n-1; goto index end; q:=1; prim115:=true; trans: q:=q+k; t:=a[q]; a[q]:=a[q+1]; a[q+1]:=t end;
var s,maxs:string; i,m:integer; pal:boolean; begin prim115:=true; maxs:=''; repeat s:=''; for i:=1 to n do s:=s+a[i]; m:=Length(s); pal:=True; for i:=1 to m div 2 do if s[i]<>s[m-i+1] then begin pal:=false; break end; if pal then if maxs<s then maxs:=s; Perm(n); until prim115; Writeln(maxs) end.
Результат выполнения программы: 842624426248
kapitan19
18.02.2020
Даны числа 426, 62, 84, 4, 2, 8, 24 Рассмотрим число 426. Так как мы составляем палиндром, при этом количество чисел в палиндроме чётное, то в нем должна быть обратная запись этого числа - 624. Её мы можем получить из чисел 62 и 4. Имеем: зеркальные числа 426 и 624 Остались числа 84, 2, 8, 24. Из них мы можем составить два зеркальных числа - 842 и 248. Осталось составить палиндром. Так как надо создать максимально возможный палиндром, то число 842 должно быть вначале, а после - число 624. ответ: 842624426248
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Условие Дано 20 целых чисел a1, a2, ..., a20. Найти сумму a2+a4+a6+ Формат входных данных Вводятся целые числа a1, ..., a20 (−215≤ai≤215−1 Формат выходных данных Требуется вывести искомую сумму
Python 3.7.2
input_list = []
for i in range(20):
input_list.append(int(input()))
summ = 0
#т.к ищем сумму элементов с чётными номерами и нумеруем последовательность с 1, то индексы берём нечётные
for index in range(1, len(input_list), 2):
summ += input_list[index]
print(summ)