Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Прошу решить задачу на Python или другом языке

Meps Mepsikovich Ученик (73), открыт 1 неделю назад
На уроке математики Марина Ивановна написала на доске N чисел: первое, второе, третье, четвёртое и так далее. Первый ученик из первого числа отнял второе, добавил третье, отнял четвёртое и так далее, а потом удалил первое число. Второй ученик из первого из оставшихся чисел отнял второе, добавил третье, отнял четвёртое и так далее, а потом удалил первое. Аналогично поступили и другие ученики. Так i-й ученик отнял от первого из оставшихся чисел второе, добавил третье число, отнял четвёртое число и так далее, а затем удалил первое. Последнему N-му ученику досталось только последнее N-е число. Каждый из учеников запомнил результат своих вычислений.

Сможет ли Марина Ивановна восстановить исходные числа, если она знает результаты первого, второго, третьего, …, последнего учеников?

Входные данные
В первой строке входного файла INPUT.TXT записано одно натуральное число N – количество чисел на доске (1 ≤ N ≤ 105). Во второй строке через пробел записаны N чисел – запомненных учениками результатов вычислений, каждое из которых не превышает по абсолютной величине 109.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести через пробел N исходных чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2
0 1 1 1
2 3
1 -1 2 0 1 2
1 ответ
Никнейн Мудрец (18790) 1 неделю назад
В общем последний результат всегда равен последнему числу. А все остальные по формуле н-ое число равно сумме н-го и н+1 результата. Можешь на листочке эту закономерность выяснить.
return (0..listResult.size-2).map{ listResult[it] +listResult[it+1] } += listResult.last()
Например, на котлине.
Похожие вопросы