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 A305438 #12 Jun 09 2018 19:00:35 %S A305438 1,1,1,2,1,3,1,4,2,5,1,6,1,7,3,8,1,9,1,10,1,11,1,12,1,13,4,14,1,15,1, %T A305438 16,5,17,2,18,1,19,6,20,1,21,1,22,7,23,1,24,3,25,8,26,1,27,1,28,9,29, %U A305438 1,30,1,31,10,32,2,33,1,34,1,35,1,36,1,37,11,38,1,39,1,40,1,41,1,42,3,43,1,44,1,45,1,46,2,47,4,48,1,49,12,50,1,51,1,52,13 %N A305438 Number of times the lexicographically least irreducible factor of (0,1)-polynomial (when factored over Q) obtained from the binary expansion of n occurs as the lexicographically least factor for numbers <= n; a(1) = 1. %C A305438 Ordinal transform of A305437. %H A305438 Antti Karttunen, <a href="/A305438/b305438.txt">Table of n, a(n) for n = 1..65537</a> %F A305438 a(2n) = n. %e A305438 Binary representation of 21 is "10101", encoding (0,1)-polynomial x^4 + x^2 + 1 which factorizes over Q as (x^2 - x + 1)(x^2 + x + 1). Factor (x^2 - x + 1) is lexicographically less than factor (x^2 + x + 1) and this is also the first time factor (x^2 - x + 1) occurs as the least one, thus a(21) = 1. Note that although we have the same factor present for n=9, which encodes the polynomial x^3 + 1 = (x + 1)(x^2 - x + 1), it is not the lexicographically least factor in that case. %e A305438 The next time the same factor occurs as the smallest one is for n=93, which in binary is 1011101, encoding polynomial x^6 + x^4 + x^3 + x^2 + 1 = (x^2 - x + 1)(x^4 + x^3 + x^2 + x + 1). Thus a(93) = 2. %o A305438 (PARI) %o A305438 allocatemem(2^30); %o A305438 default(parisizemax,2^31); %o A305438 up_to = 65537; %o A305438 ordinal_transform(invec) = { my(om = Map(), outvec = vector(length(invec)), pt); for(i=1, length(invec), if(mapisdefined(om,invec[i]), pt = mapget(om, invec[i]), pt = 0); outvec[i] = (1+pt); mapput(om,invec[i],(1+pt))); outvec; }; %o A305438 pollexcmp(a,b) = { my(ad = poldegree(a), bd = poldegree(b),e); if(ad != bd, return(sign(ad-bd))); for(i=0,ad,e = polcoeff(a,ad-i) - polcoeff(b,ad-i); if(0!=e, return(sign(e)))); (0); }; %o A305438 Aux305438(n) = if(1==n,0,my(fs = factor(Pol(binary(n)))[,1]~); vecsort(fs,pollexcmp)[1]); %o A305438 v305438 = ordinal_transform(vector(up_to,n,Aux305438(n))); %o A305438 A305438(n) = v305438[n]; %Y A305438 Cf. A206074 (gives a subset of the positions of 1's), A305437. %Y A305438 Cf. A305439. %Y A305438 Cf. also A078898, A302788. %K A305438 nonn %O A305438 1,4 %A A305438 _Antti Karttunen_, Jun 09 2018