Предмет: Информатика,
автор: СашаФокин
Помогите решить задачу на PYTHON.
Задача D. Получи ноль
(Время: 1 сек. Память: 16 Мб)
Задано натуральное число N. Требуется перед каждым из чисел от 1 до N поставить знак «+» или знак «–» таким образом, чтобы в результате получившаяся сумма чисел стала равна нулю. Например, для N = 3 сумма –1–2+3 (или сумма +1+2–3) будет равна 0, а для N = 2 нулевую сумму получить невозможно.
Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 105).
Выходные данные
В выходной файл OUTPUT.TXT выведите последовательность из N символов «+» или «–», соответствующих знакам, которые нужно расставить перед числами от 1 до N так, чтобы сумма получившихся чисел была равна 0. Если задача имеет несколько решений нужно вывести любое из них. Если задача не имеет решения для заданного N выведите слово «IMPOSSIBLE» (без кавычек).
Приложения:
Ответы
Автор ответа:
1
Ответ:
n = int(input())
if (n - 3) % 4 == 0 or n % 4 == 0:
if n % 4 == 0:
s = '+--+' * (n // 4)
else:
s = '--+'
s += '+--+' * ((n - 3) // 4)
for i in range(n):
print(s[i], sep='', end='')
else:
print('IMPOSSIBLE')
Похожие вопросы
Предмет: Русский язык,
автор: МИККС
Предмет: Русский язык,
автор: лейла41
Предмет: Русский язык,
автор: 2003172
Предмет: Алгебра,
автор: Yaroslava666a
Предмет: Химия,
автор: GEDEZESHNIG