Ймовірність того, що друг влучить у мішень при одному пострілі, дорівнює
Тоді ймовірність того, що він не влучить у мішень при одному пострілі, дорівнює
Оскільки всі постріли незалежні, то ймовірність того, що друг не влучить у мішень жодного разу, здійснивши пострілів, дорівнює
Ймовірність того, що друг влучить у мішень хоча б один раз за пострілів, дорівнює доповненню до цієї події:
За умовою задачі суперечка має зміст, якщо ймовірність хоча б одного влучання строго менша , тобто:
Перетворюємо нерівність:
Таким чином, потрібно знайти максимальне ціле число , для якого виконується це нерівність. Як тільки при збільшенні ймовірність промаху по всіх пострілах стає меншою або дорівнює , суперечка перестає бути вигідною.
Реалізація алгоритму
Читаємо вхідне значення ймовірності .
while (scanf("%d", &a) == 1)
{Ймовірність промаху по мішені обчислюємо в змінній .
miss = 1 - a / 100.0;У змінній обчислюємо ймовірність (1 - a / 100.0)^n.
p = miss;
n = 0;Шукаємо найбільше значення , для якого (1 - a / 100.0)^n > 0.5.
while (p > 0.5)
{
n++;
p *= miss;
}Виводимо відповідь.
printf("%d\n", n);
}