1011. Кондукторы
В Екатеринбурге количество
кондукторов составляет строго больше P% и строго
меньше Q% от всего населения города. Найти
минимально возможное число людей в Екатеринбурге.
Вход. Два
числа P и Q (0.01 £ P, Q £
99.99), заданые с
двумя десятичными знаками после запятой.
Выход. Вывести минимально возможное
число людей в Екатеринбурге.
13
14.1
15
математика
Пусть x – искомое количество людей в городе. Тогда строго между значениями p * x
/ 100 и q * x
/ 100 должно
находиться целое число. То есть должно выполняться
неравенство:
– > 0
Искомое значение x ищем перебором натуральных
чисел, начиная с единицы.
Пример
Если p = 13, q =
14.1, то выбрав x = 15, получим:
= = [1.95] = 1, = = [2.115] = 2
Значения целых частей выражений
различны.
Установим допустимое значение ошибки при округлении равным
10-10 .
#define EPS 1e-10
Для каждой входной пары p, q перебором ищем x, для которого строго между p * x
/ 100 и q * x
/ 100 находится
целое число.
scanf("%lf %lf",&p,&q);
x = 1;
while(1)
{
px = p*x; qx = q*x;
if ((int)(qx/100 -
EPS) - (int)(px/100 + EPS) > 0) break;
x++;
}
printf("%d\n",x);