Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

1332. Все пути ведут в нуль

Ограничения: время – 500ms/1000ms, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Любое натуральное число (т.е. целое число большее 0) можно представить в виде произведения двух натуральных чисел X и Y, таких что X . Если заменить в этом разложении число X на X-1, а Y на Y+1, то после вычисления произведения получим либо новое натуральное число, либо нуль. Например, для числа 12 возможно три варианта разложения 1*12, 3*4, 2*6. Первый вариант дает 0: (1-1)*(12+1)=0, второй вариант дает 10: (3-1)*(4+1)=10, а третий – 7: (2-1)*(6+1)=7. Если результат отличен от нуля, то повторяя эту процедуру над получившимся натуральным числом, мы в конце концов придем к нулю, независимо от выбираемого варианта разложения.
Напишите программу, которая находит все различные числа, которые могут встретиться на пути к 0, при применении данной процедуры к натуральному числу N.
Во входном файле в первой строке содержатся натуральное число N (1\ ≤\ N\ ≤\ 10000).
В выходной файл вывести все найденные числа, в порядке возрастания, начиная с 0. Числа в списке разделяются одним пробелом. Даже если какое-то число встречается на нескольких путях, оно печатается в списке только один раз.

Пример ввода

12

Пример вывода

0 3 4 6 7 10
loading