Python functions to generate OEIS sequences
Project description
oeis-sequences
Python functions to generate The On-Line Encyclopedia of Integer Sequences (OEIS) sequences
Requirements
Requires python
>= 3.8
Installation
pip install OEISsequences
Usage
After installation, from oeis_sequences import OEISsequences
will import all the functions accessible via OEISsequences.Axxxxxx
.
Alternatively, invidividual functions can be imported as from oeis_sequences.OEISsequences import Axxxxxx
.
For each sequence, there are 3 different kinds of functions:
-
Functions named
Axxxxxx
: Axxxxxx(n) returns the n-th term of OEIS sequence Axxxxxx. -
Functions named
Axxxxxx_T
: returns T(n,k) for OEIS sequences where the natural definition is a 2D table T. -
Functions named
Axxxxxx_gen
: Axxxxxx_gen() returns a generator of OEIS sequence Axxxxxx.
The function Axxxxxx
is best used to compute a single term. The generator Axxxxxx_gen
is typically defined for sequences where terms are best generated sequentially and is best used when computing a sequence of consecutive terms.
For the generator, we can for example use list(islice(Axxxxxx_gen(),10))
to return the first 10 terms of sequence Axxxxxx
Alternatively, setting gen = Axxxxxx_gen()
and using next(gen)
returns the next term of the sequence.
Given Axxxxxx_gen
, one can define a function Axxxxxx
as:
def Axxxxxx(n,offset=1): return next(islice(Axxxxxx_gen(),n-offset,None))
where a(offset) is the first term returned by the generator. This value of offset is the same as the offset parameter in the OEIS database.
Some functions Axxxxxx_gen
contain an optional keyword startvalue
that returns a generator of terms that are larger than or equal to startvalue
.
For some sequences, e.g. A269483
, both types of functions Axxxxxx
and Axxxxxx_gen
are provided.
Examples
Least power of 3 having exactly n consecutive 7's in its decimal representation.
from oeis_sequences.OEISsequences import A131546
print(A131546(5))
>> 721
Minimal exponents m such that the fractional part of (10/9)m obtains a maximum (when starting with m=1).
from itertools import islice
from oeis_sequences.OEISsequences import A153695_gen
print(list(islice(A153695_gen(),10)))
>> [1, 2, 3, 4, 5, 6, 13, 17, 413, 555]
Numbers n such that n3 has one or more occurrences of exactly nine different digits.
from oeis_sequences.OEISsequences import A235811_gen
print(list(islice(A235811_gen(startvalue=1475),10))) # print first 10 terms >= 1475
>> [1475, 1484, 1531, 1706, 1721, 1733, 1818, 1844, 1895, 1903]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for OEISsequences-0.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcfe3bb3c76440c8138734dd2de9ea33285e59330cb988c1e4b480bdb0e6770e |
|
MD5 | 84104a94ae528a2b90121cddce988f6b |
|
BLAKE2b-256 | 59f451f3925a3a447b3d38b2d88ef8074f25822bf797a920d89c9e6827deb298 |