? Олимпиадная информатика

Олимпиадная информатика-2014

Разбор и решение задач муниципального уровня

Задача « УГАДАЙКА»

Программисты Паскалев и Питонов продолжают играть в числа. Паскалев задумывает целое положительное число, а Питонов должен его отгадать. Для этого Питонов предлагает к задуманному числу сначала прибавить число а, а затем полученную сумму умножить на число b. К полученному результату Питонов просит прибавить b, а затем полученную сумму умножить на а. Помогите Питонову найти задуманное число, зная окончательный результат S этих вычислений. Формат входного файла input.txt Входной файл содержит три целых числа а, b и S. Числа разделены пробелом и находятся в диапазоне [1; 10 000]. Формат выходного файла output.txt В выходной файл запишите задуманное число. Если таких чисел несколько, запишите их все через пробел. Если нет ни одного целого положительного числа, удовлетворяющего условию, выведите -1.

INPUT.TXT
1 2 6
OUTPUT.TXT
1
INPUT.TXT
1 2 7
OUTPUT.TXT
-1

посмотреть решение здесь

Разбор задачи №1 "Угадайка"
предложено Песковым Аркадием Геннадьевичем, МОУ «Сюкеевская средняя общеобразовательная школа»
Камско-Устьинского муниципального района РТ

При решении этой задачи возможны несколько подходов. Рассмотрим некоторые из них.

Можно работать с вещественными числами, провести предложенные действия в обратном порядке, провести проверку, получилось ли в результате натуральное число.

Аналогично можно поступить, работая с целыми числами, но перед каждым делением проверять, произойдёт ли деление нацело.

Третий подход: работаем с целыми числами. Производим действия в обратном порядке. Проверяем результат на положительность, а затем проводим с ним действия, указанные в условии задачи, сравниваем ответ с данным в задаче и выводим соответствующее сообщение.

Наконец, учитывая ограничения по времени и диапазон данных, можно произвести указанные действия со всеми возможными значениями искомой величины.