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.

Showing 1-1 of 1 results.

A214410 Numbers that can't be expressed as the sum of a square and a Fibonacci number.

Original entry on oeis.org

15, 20, 23, 31, 32, 40, 42, 45, 47, 48, 53, 58, 60, 61, 63, 68, 73, 74, 75, 76, 78, 79, 87, 88, 92, 95, 96, 97, 99, 106, 107, 109, 110, 111, 112, 116, 117, 118, 120, 127, 128, 130, 131, 132, 133, 135, 137, 139, 140, 141, 143, 150, 151, 154, 156, 158, 159, 161
Offset: 1

Views

Author

Alex Ratushnyak, Jul 16 2012

Keywords

Comments

0 is considered to be a Fibonacci number.

Examples

			17 = 16+1, 16 is a square and 1 is a Fibonacci number, so 17 is not in the sequence.
		

Crossrefs

Programs

  • Maple
    q:= proc(n) local f,g; f,g:= 0,1;
          do if f>n        then return true
           elif issqr(n-f) then return false
           else f,g:= g,f+g
          fi od
        end:
    select(q, [$0..200])[];  # Alois P. Heinz, May 22 2021
  • Mathematica
    nn = 161; sq = Range[0, Sqrt[nn]]^2; fb = {}; i = 0; While[f = Fibonacci[i];  f < nn, i++; AppendTo[fb, f]]; fb = Union[fb]; Complement[Range[0, nn], Union[Flatten[Outer[Plus, sq, fb]]]] (* T. D. Noe, Jul 31 2012 *)
  • Python
    prpr = 0
    prev = 1
    fib = [0]*100
    for n in range(100):
        fib[n] = prpr
        curr = prpr+prev
        prpr = prev
        prev = curr
    for n in range(1234):
        i = yes = 0
        while i*i<=n:
            r = n - i*i
            if r in fib:
                yes = 1
                break
            i += 1
        if yes==0:
            print(n, end=',')
    
  • Python
    from sympy import fibonacci
    from itertools import count, takewhile
    def aupto(lim):
      fbs = list(takewhile(lambda x: x<=lim, (fibonacci(i) for i in count(0))))
      sqs = list(takewhile(lambda x: x<=lim, (i*i for i in count(0))))
      return sorted(set(range(1, lim+1)) - set(f+s for f in fbs for s in sqs))
    print(aupto(161)) # Michael S. Branicky, May 22 2021
Showing 1-1 of 1 results.