SRM 152 DIV2 Level One - 不動点
くそぅ。問題が全然わかんねぇ。
f(x) = R * x * (1 - x)のRが与えられるのでxを0.25から始めて、不動点を求めていく。200000回不動点を求めてみて、そこから更に1000回求めてみて、最大値と最小値の差がいくつになるかを答える。
と、ここまで辿りつくまでが長い・・・くそう、英語が出来ないって辛過ぎ。
回答はそのまま実装すればいい。
#include <algorithm> class FixedPointTheorem { public: static double cycleRange(double R) { double x = 0.25; double max, min; for (int i = 0; i < 200000; i++) x = R * x * (1 - x); max = min = x; for (int i = 0; i < 1000; i++) { x = R * x * (1 - x); max = std::max(x, max); min = std::min(x, min); } return max - min; } };