cp's OEIS Frontend

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.

A162393 Fibonacci numbers equal to a promic number or an anagram of a promic number.

Original entry on oeis.org

2, 21, 6765, 10946, 2178309, 14930352, 102334155, 701408733, 1134903170, 4807526976, 20365011074, 32951280099, 225851433717, 1548008755920, 10610209857723, 72723460248141, 117669030460994, 498454011879264, 2111485077978050, 3416454622906707
Offset: 1

Views

Author

Claudio Meller, Jul 02 2009

Keywords

Comments

There are many terms overlapping with A162394. 13 of the first 20 terms are in A162394. - Chai Wah Wu, Dec 26 2016

Examples

			a(1) = A000045(3) = 2 is the promic number A002378(1).
a(2) = A000045(8) = 21 is an anagram of 12 = A002378(3).
a(3) = A000045(20) = 6765 is an anagram of 7656= A002378(87).
a(4) = A000045(21) = 10946 is an anagram of 19460 = A002378(139) and 96410 = A002378(310).
a(5) = A000045(32) = 2178309 is an anagram of 7308912 = A002378(2703), of 8017392 = A002378(2831) and of 9731280 = A002378(3119).
		

Crossrefs

Programs

  • Maple
    Digits := 200 ; digFreq := proc(n) dgs := convert(n,base,10) ; c := [seq(0,j=0..9)] ; for d in dgs do c := subsop(d+1= op(d+1,c)+1,c) ; od: c; end:
    isAna := proc(a,b) RETURN( digFreq(a) = digFreq(b)) ; end:
    isA002378 := proc(n) k := floor(sqrt(n)) ; RETURN(k*(k+1) = n ) ; end:
    A055642 := proc(n) max(1, ilog10(n)+1) ; end:
    for n from 1 do f := combinat[fibonacci](n) ; fdgs := A055642(f) ; for k from floor(sqrt(10^(fdgs-1))) do p := k*(k+1) ; if A055642(p) > fdgs then break; fi; if isAna(p,f) then printf("%d,\n",f) ; break; fi; od; od: # R. J. Mathar, Aug 14 2009
  • Python
    from math import isqrt
    from itertools import count, islice
    def promics(d): # generator of promic numbers with d digits
        ilb, lb, ub = isqrt(10**(d-1)-1), 10**(d-1), 10**d
        if d == 1: yield 0
        for i in count(ilb):
            p = i*(i+1)
            if p < lb: continue
            elif p >= ub: break
            yield p
    def agen(): # generator of sequence terms
        # yield 0  # uncomment if 0 is inserted
        f, g, n, adict = 1, 2, 1, dict()
        for d in count(1):
            P = set("".join(sorted(str(p))) for p in promics(d))
            while f < 10**d:
                if "".join(sorted(str(f))) in P: yield f
                f, g = g, f+g
    print(list(islice(agen(), 16))) # Michael S. Branicky, Feb 19 2024

Extensions

Six more terms from R. J. Mathar, Aug 14 2009
a(13)-a(18) from Donovan Johnson, Oct 11 2009
a(19)-a(20) from Chai Wah Wu, Jan 02 2017