login
Continued fraction for seventh root of 2.
1

%I #9 Aug 29 2017 19:10:56

%S 1,9,1,1,1,1,5,46,1,3,2,1,1,3,1,1,2,1,22,48,1,1,5,4,1,1,1,1,1,1,2,8,1,

%T 6,1,21,1,1,1,1,1,6,1,1,3,3,1,1,2,2,2,3,1,26,1,16,1,4,21,1,2,1,1,1,5,

%U 3,7,21,3,1,1,1,8,1,8,1,4,1,24,1,3,1,6,1,2,1,5,5,6,1,12,1,8,2,2,1,3,1,1,2

%N Continued fraction for seventh root of 2.

%H G. C. Greubel, <a href="/A110483/b110483.txt">Table of n, a(n) for n = 0..5000</a>

%t ContinuedFraction[Surd[2,7],100] (* _Harvey P. Dale_, Aug 11 2017 *)

%o (Haskell) import Ratio

%o floorRoot :: Integer -> Integer -> Integer

%o floorRoot k n | k>=1 && n>=1 = h n where h x = let y=((k-1)*x+n`div`x^(k-1))`div`k in if y<x then h y else x

%o intFrac :: Rational -> (Integer,Rational)

%o intFrac x = let ((a,b),~(q,r)) = ((numerator x,denominator x),divMod a b) in (q,r%b)

%o cf :: Rational -> Rational -> [Integer]

%o cf x y = let ((xi,xf),(yi,yf)) = (intFrac x,intFrac y) in if xi==yi then xi : cf (recip xf) (recip yf) else []

%o y = 2^512 -- increase to get more terms, decrease to get a quick answer

%o (k,n) = (7,2) -- compute continued fraction for k-th root of n

%o main = print (let x = floorRoot k (n*y^k) in cf (x%y) ((x+1)%y))

%Y Cf. A002945, A002950.

%K cofr,nonn

%O 0,2

%A Paul Stoeber (pstoeber(AT)uni-potsdam.de), Sep 09 2005