Задача
В белом квадрате [latex]N[/latex] раз выполнили одну и ту же операцию: один из наименьших белых квадратов разбили на 4 одинаковых квадрата и 2 из них закрасили черным цветом. Для данного [latex]N[/latex] вычислить, сколько процентов занимает площадь черной фигуры.
Входные данные
Во входном файле одно число [latex]N[/latex]. [latex]1 ≤ N ≤ 100[/latex].
Выходные данные
В выходной файл нужно записать ответ, вычисленный с точностью 5 знаков после запятой по правилам математических округлений.
Тесты
Входные данные | Выходные данные |
---|---|
1 | 50.00000 |
3 | 65.62500 |
10 | 66.66660 |
50 | 66.66667 |
100 | 66.66667 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> #include <cmath> #include <iomanip> //Подключаем этот модуль,чтобы установить точность ответа using namespace std; int main() { double n; cin >> n; cout << fixed << setprecision(5) << (50*(1-(pow(0.25,n))))/(0.75); return 0; } |
Решение задачи
При [latex]N=1[/latex] площадь черной фигуры составляет [latex]50\%[/latex]. При [latex]N=2[/latex] площадь фигуры равна [latex]50\%+50\%\cdot 1/4[/latex]. При [latex]N=3[/latex] площадь черной фигуры составляет [latex]50\%+50\%\cdot 1/4+50\%\cdot 1/16[/latex]. Очевидно, что перед нами геометрическая прогрессия. Процент, занимаемый площадью черной фигуры, будем искать через сумму геометрической прогресcии: [latex]S_n={{b_1(1-q^N)}\over{1-q}}[/latex], где [latex]q={{b_2}\over{b_1}}={{12.5}\over{50}}=0.25[/latex], [latex]N-[/latex]кол-во операций.
Ссылки
Условие задачи на e-olymp
Код решения
Хорошо. Осталось чуть-чуть:
— Нельзя писать $50\% \cdot 1/4$. Нужно $\frac{1}{4}\cdot 50\%$.
— В этой задаче просто просится чертёж в SVG. Я за это дополнительные баллы даю. Но если чувствуете, что отнимет много времени, то оставляйте как есть.
И ещё. Я не вижу смысла здесь вводить проценты вместо долей целого. Разве не проще вместо 50% манипулировать дробями типа $\frac{1}{2}?$ Но я не настаиваю. Вы автор.