This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A139356 #35 Jan 06 2023 19:50:15 %S A139356 4,1,5,8,9,11,12,13,16,17,20,22,23,25,28,30,31,34,36,39,41,43,44,46, %T A139356 47,48,50,51,52,53,55,56,57,58,61,62,64,65,66,67,68,71,72,74,75,76,77, %U A139356 79,80,81,83,84,85,86,89,90,91,93,94,96,97,99,100,103,105 %N A139356 Sequence describing the positions of the consonants when the sequence is written in French (version 1). %C A139356 The sequence depends on how the initial terms are selected - see the Angelini article for the precise definition. %H A139356 Eric Angelini, <a href="https://www.pourlascience.fr/sr/article/jeux-de-suites-1637.php">Jeux de suites</a>, in Dossier Pour La Science, pp. 32-35, Volume 59 (Jeux math'), April/June 2008, Paris. %o A139356 (PARI) lista(n) = frconspos([4])(n) %o A139356 frconspos(startseq) = n -> { %o A139356 my(consonants = Vec("bcdfghjklmnpqrstvwxyz"), charoffset = 0, seqindex = #startseq + 1, seq = Vec(startseq, n)); %o A139356 if(n <= #startseq, seq[1..n], for(i = 1, n, my(thisfrench = Vec(strchr([c|c<-Vecsmall(French(seq[i])), c>96])), consonantindexes = select(x->setsearch(consonants, x), thisfrench, 1)); %o A139356 for(j = 1, #consonantindexes, if(#select(I -> I == consonantindexes[j] + charoffset, startseq) == 0, if(seqindex + j - 1 <= n, seq[seqindex] = consonantindexes[j] + charoffset; seqindex++))); %o A139356 charoffset += #thisfrench); %o A139356 seq)} %o A139356 /* see A167507 for French() */ %o A139356 \\ _Tyler Busby_, Dec 31 2022 %Y A139356 Cf. A139212, A139357, A139358, A167507. %K A139356 nonn,word,easy %O A139356 1,1 %A A139356 _N. J. A. Sloane_ (based on Angelini's article), Jun 08 2008 %E A139356 a(12) corrected and more terms from _Tyler Busby_, Dec 31 2022