Проблема 186: Связь сети
Вот записи из занятой телефонной системы с миллионом пользователей:
RecNrCallerCalled120000710005326001835004393600863701497 ......... Телефонный номер вызывающего абонента и вызываемый номер в записи n являются Caller (n) = S2n-1 и Called (n) = S2n, где S1,2,3, ... приходят из «Отложенного генератора Фибоначчи»:
Для 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (по модулю 1000000) Для 56 ≤ k Sk = [Sk-24 + Sk-55] (по модулю 1000000)
Если Caller (n) = Called (n), то предполагается, что пользователь ошибочно принят, и вызов завершается с ошибкой; в противном случае вызов будет успешным.
С самого начала записей мы говорим, что любая пара пользователей X и Y является друзьями, если X вызывает Y или наоборот. Аналогично, X является другом друга Z, если X является другом Y и Y является другом Z; и т. д. для более длинных цепей.
Номер телефона премьер-министра - 524287. После того, сколько успешных звонков, не считая ошибок, будет 99% пользователей (включая премьер-министра) быть другом или другом друга и т. Д. Премьер-министра?