login
Compound filter: a(n) = P(A001511(1+n), A278222(n)), where P(n,k) is sequence A000027 used as a pairing function.
5

%I #11 May 09 2017 14:07:05

%S 1,5,2,18,2,23,7,59,2,23,16,94,7,80,29,195,2,23,16,94,16,467,67,355,7,

%T 80,67,706,29,302,121,672,2,23,16,94,16,467,67,355,16,467,436,1894,67,

%U 1832,277,1331,7,80,67,706,67,1832,631,2779,29,302,277,2704,121,1178,497,2422,2,23,16,94,16,467,67,355,16,467,436,1894,67,1832,277,1331,16,467,436

%N Compound filter: a(n) = P(A001511(1+n), A278222(n)), where P(n,k) is sequence A000027 used as a pairing function.

%H Antti Karttunen, <a href="/A286252/b286252.txt">Table of n, a(n) for n = 0..16384</a>

%H MathWorld, <a href="http://mathworld.wolfram.com/PairingFunction.html">Pairing Function</a>

%F a(n) = (1/2)*(2 + ((A001511(1+n)+A278222(n))^2) - A001511(1+n) - 3*A278222(n)).

%o (PARI)

%o A001511(n) = (1+valuation(n,2));

%o A005940(n) = { my(p=2, t=1); n--; until(!n\=2, if((n%2), (t*=p), p=nextprime(p+1))); t }; \\ Modified from code of _M. F. Hasler_

%o A046523(n) = { my(f=vecsort(factor(n)[, 2], , 4), p); prod(i=1, #f, (p=nextprime(p+1))^f[i]); }; \\ This function from _Charles R Greathouse IV_, Aug 17 2011

%o A278222(n) = A046523(A005940(1+n));

%o A286252(n) = (2 + ((A001511(1+n)+A278222(n))^2) - A001511(1+n) - 3*A278222(n))/2;

%o for(n=0, 16384, write("b286252.txt", n, " ", A286252(n)));

%o (Scheme) (define (A286252 n) (* (/ 1 2) (+ (expt (+ (A001511 (+ 1 n)) (A278222 n)) 2) (- (A001511 (+ 1 n))) (- (* 3 (A278222 n))) 2)))

%o (Python)

%o from sympy import prime, factorint

%o import math

%o def T(n, m): return ((n + m)**2 - n - 3*m + 2)/2

%o def A(n): return n - 2**int(math.floor(math.log(n, 2)))

%o def b(n): return n + 1 if n<2 else prime(1 + (len(bin(n)[2:]) - bin(n)[2:].count("1"))) * b(A(n))

%o def a005940(n): return b(n - 1)

%o def P(n):

%o f = factorint(n)

%o return sorted([f[i] for i in f])

%o def a046523(n):

%o x=1

%o while True:

%o if P(n) == P(x): return x

%o else: x+=1

%o def a278222(n): return a046523(a005940(n + 1))

%o def a001511(n): return 2 + bin(n - 1)[2:].count("1") - bin(n)[2:].count("1")

%o def a(n): return T(a001511(n + 1), a278222(n)) # _Indranil Ghosh_, May 07 2017

%Y Cf. A000027, A001511, A278222, A286162, A286251, A286253, A286254.

%K nonn

%O 0,2

%A _Antti Karttunen_, May 07 2017