A122197 Fractal sequence: count up to successive integers twice.
1, 1, 1, 2, 1, 2, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5
Offset: 1
Examples
The first few rows of the sequence a(n) as a triangle T(n, k): n/k 1 2 3 1 1 2 1 3 1, 2 4 1, 2 5 1, 2, 3 6 1, 2, 3
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Programs
-
Haskell
import Data.List (transpose, genericIndex) a122197 n k = genericIndex (a122197_row n) (k - 1) a122197_row n = genericIndex a122197_tabf (n - 1) a122197_tabf = concat $ transpose [a002260_tabl, a002260_tabl] a122197_list = concat a122197_tabf -- Reinhard Zumkeller, Aug 07 2015, Jul 19 2012
-
Maple
From Johannes W. Meijer, Sep 09 2013: (Start) a := proc(n) local t: t := floor((sqrt(4*n-3)-1)/2): (n-1) mod (t+1) + 1 end: seq(a(n), n=1..105); # End first program T := proc(n, k): if n < 1 then return(0) elif k < 1 or k> floor((n+1)/2) then return(0) else k fi: end: seq(seq(T(n, k), k=1..floor((n+1)/2)), n=1..19); # End second program. (End)
-
Mathematica
With[{c=Table[Range[n],{n,10}]},Flatten[Riffle[c,c]]] (* Harvey P. Dale, Apr 19 2013 *)
-
PARI
a(n)=n - (sqrtint(4*n) + 1)\2*sqrtint(n-1) \\ Charles R Greathouse IV, Jun 08 2020
-
Python
from math import isqrt def A122197(n): return 1 if n<=1 else 1+((n-1)%((m:=isqrt(n-1))+int(n-1>m*(m+1)))) # Chai Wah Wu, Jun 05 2025
Formula
From Boris Putievskiy, Sep 09 2013: (Start)
a(n) = ((n-1) mod (t+1)) + 1, where t = floor((sqrt(4*n-3)-1)/2). (End)
From Johannes W. Meijer, Sep 09 2013: (Start)
T(n, k) = k for n >= 1 and 1 <= k <= (n+1)/2; T(n, k) = 0 elsewhere.
T(n, k) = A002260(n-k, k). (End)
a(n) = n - floor(sqrt(n) + 1/2)*floor(sqrt(n-1)). - Ridouane Oudra, Jun 08 2020
a(n) = A339399(2n-1). - Wesley Ivan Hurt, Jan 09 2022
Comments