]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/186/186.factor
project-euler: Rewrap, update links, add copyrights, tests
[factor.git] / extra / project-euler / 186 / 186.factor
index 78e6bc50856e2cecddef4d855d2e66afc87db870..b18fedb3615f0ccf594a663d58ca12ab8d48366d 100644 (file)
@@ -1,14 +1,16 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See https://factorcode.org/license.txt for BSD license.
-USING: circular disjoint-sets kernel math ranges sequences project-euler.common ;
+USING: circular disjoint-sets kernel math ranges sequences
+project-euler.common ;
 IN: project-euler.186
 
-! https://projecteuler.net/index.php?section=problems&id=186
+! https://projecteuler.net/problem=186
 
 ! DESCRIPTION
 ! -----------
 
-! Here are the records from a busy telephone system with one million users:
+! Here are the records from a busy telephone system with one
+! million users:
 
 !     RecNr  Caller  Called
 !     1      200007  100053
@@ -16,23 +18,27 @@ IN: project-euler.186
 !     3      600863  701497
 !     ...    ...     ...
 
-! The telephone number of the caller and the called number in record n are
-! Caller(n) = S2n-1 and Called(n) = S2n where S1,2,3,... come from the "Lagged
-! Fibonacci Generator":
+! The telephone number of the caller and the called number in
+! record n are Caller(n) = S2n-1 and Called(n) = S2n where
+! S1,2,3,... come from the "Lagged Fibonacci Generator":
 
-! For 1 <= k <= 55, Sk = [100003 - 200003k + 300007k^3] (modulo 1000000)
+! For 1 <= k <= 55, Sk = [100003 - 200003k + 300007k^3] (modulo
+! 1000000)
 ! For 56 <= k, Sk = [Sk-24 + Sk-55] (modulo 1000000)
 
-! If Caller(n) = Called(n) then the user is assumed to have misdialled and the
-! call fails; otherwise the call is successful.
+! If Caller(n) = Called(n) then the user is assumed to have
+! misdialled and the call fails; otherwise the call is
+! successful.
 
-! From the start of the records, we say that any pair of users X and Y are
-! friends if X calls Y or vice-versa. Similarly, X is a friend of a friend of Z
-! if X is a friend of Y and Y is a friend of Z; and so on for longer chains.
+! From the start of the records, we say that any pair of users X
+! and Y are friends if X calls Y or vice-versa. Similarly, X is
+! a friend of a friend of Z if X is a friend of Y and Y is a
+! friend of Z; and so on for longer chains.
 
-! The Prime Minister's phone number is 524287. After how many successful calls,
-! not counting misdials, will 99% of the users (including the PM) be a friend,
-! or a friend of a friend etc., of the Prime Minister?
+! The Prime Minister's phone number is 524287. After how many
+! successful calls, not counting misdials, will 99% of the users
+! (including the PM) be a friend, or a friend of a friend etc.,
+! of the Prime Minister?
 
 
 ! SOLUTION