Закон Амдала
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Параллельное программирование изучает методы построения программ, которые будут выполняться на нескольких процессорах. В результате решения одной из первых задач этого раздела информатики появился закон Амдала.
Задача Амдала формулировалась так. Имеется n процессоров и p процентов вычислений не могут выполняться параллельно. Во сколько раз быстрее можно выполнить вычисления по сравнению с одним процессором?
Например, если n = 10, p = 50, а на одном процессоре все вычисления выполняются за время t. Тогда первая половина вычислений (50%) будет выполнена за время t/(2•10) , а вторая - за время t/2. Общее время вычислений в этом случае составит t/2 + t/20 = 11•t/20, а ускорение по сравнению с одним процессором составит 20/11 раза.
Если же n = 10, p = 25, и на одном процессоре все вычисления выполняются за время t. Тогда 75% вычислений будут выполнены за время 3•t/(4•10) , а оставшиеся 25% - за время t/4 . Общее время вычислений в этом случае составит t/4 + 3•t/40 = 13•t/40, а ускорение по сравнению с одним процессором составит 40/13 раза.
Даны числа n и p. Напишите программу, решающую задачу Амдала.
Входные данные
Входной файл INPUT.TXT содержит 2 целых числа n и p. (1 ≤ n ≤ 1000, 0 ≤ p ≤ 100).
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу с точностью, не меньшей 10-6.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 10 50 | 1.818181818 |
2 | 10 25 | 3.076923077 |
3 | 1000 100 | 1.000000000 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|