Предмет: Информатика, автор: СашаФокин

Помогите решить задачу на 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» (без кавычек).

Приложения:

Ответы

Автор ответа: aijdwr
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')

Похожие вопросы