def sumdigpow(p,desc=None): """sum of p-th powers of digits""" return Sequence(None,lambda x:math2.digsum(x,f=p),desc=desc)
A000027=Sequence(count(1), lambda n:n, desc='The positive integers.') A005408=Sequence(count(1,2), lambda n:2*n+1, desc='The odd numbers: a(n) = 2n+1.') A005843=Sequence(count(0,2), lambda n:2*n, desc='The even numbers: a(n) = 2n ') A008587=Sequence(None,lambda n:5*n, lambda n:n%5==0, 'Multiples of 5') A008589=Sequence(None,lambda n:7*n, lambda n:n%7==0, 'Multiples of 7') A000079=Sequence(None,lambda n:2**n, desc='Powers of 2: a(n) = 2^n.') A001146=Sequence(None,lambda n:2**2**n, desc='2^(2^n)') A051179=A001146-1 A000215=A001146+1 A000215.desc='Fermat numbers' A000244=Sequence(None,lambda n:3**n, desc='Powers of 3: a(n) = 3^n.') A067500=A000244.filter(lambda n:math2.digsum(n) in A000244,"Powers of 3 with digit sum also a power of 3.") A006521=Sequence(1,None,lambda n: (2**n + 1)%n==0,"Numbers n such that n divides 2^n + 1. ") #polygonal numbers A000217=Sequence(None,math2.triangle,math2.is_triangle,'triangle numbers') A000290=Sequence(None,lambda n:n*n,lambda n:math2.is_square(n),'squares') A000326=Sequence(None,math2.pentagonal,math2.is_pentagonal,'pentagonal numbers') A000384=Sequence(None,math2.hexagonal,math2.is_hexagonal) A000566=Sequence(None,math2.heptagonal,math2.is_heptagonal)
A000027=Sequence(count(1), lambda n:n, lambda x:x>0, desc='The positive integers.') A005408=Sequence(count(1,2), lambda n:2*n+1, lambda x:x%2==1, desc='The odd numbers: a(n) = 2n+1.') A005843=Sequence(count(0,2), lambda n:2*n, lambda x:x%2==0, desc='The even numbers: a(n) = 2n ') A008587=Sequence(count(0,5),lambda n:5*n, lambda n:n%5==0, 'Multiples of 5') A008589=Sequence(count(0,7),lambda n:7*n, lambda n:n%7==0, 'Multiples of 7') A000079=Sequence(None,lambda n:2**n, desc='Powers of 2: a(n) = 2^n.') A001146=Sequence(None,lambda n:2**2**n, desc='2^(2^n)') A051179=A001146-1 A000215=A001146+1 A000215.desc='Fermat numbers' A000244=Sequence(None,lambda n:3**n, desc='Powers of 3: a(n) = 3^n.') A067500=A000244.filter(lambda n:math2.digsum(n) in A000244,"Powers of 3 with digit sum also a power of 3.") A006521=Sequence(1,None,lambda n: (2**n + 1)%n==0,"Numbers n such that n divides 2^n + 1. ") #polygonal numbers A000217=Sequence(None,math2.triangle,math2.is_triangle,'triangle numbers') A000290=Sequence(None,lambda n:n*n,lambda n:math2.is_square(n),'squares') A000326=Sequence(None,math2.pentagonal,math2.is_pentagonal,'pentagonal numbers') A000384=Sequence(None,math2.hexagonal,math2.is_hexagonal) A000566=Sequence(None,math2.heptagonal,math2.is_heptagonal)