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.

A118118 Composite numbers that always remain composite when a single decimal digit of the number is changed.

Original entry on oeis.org

200, 204, 206, 208, 320, 322, 324, 325, 326, 328, 510, 512, 514, 515, 516, 518, 530, 532, 534, 535, 536, 538, 620, 622, 624, 625, 626, 628, 840, 842, 844, 845, 846, 848, 890, 892, 894, 895, 896, 898, 1070, 1072, 1074, 1075, 1076, 1078, 1130
Offset: 1

Views

Author

Adam Panagos (adam.panagos(AT)gmail.com), May 12 2006

Keywords

Comments

The term "prime-proof" for this property is found on projecteuler.net (cf. link). The nontrivial subsequence A143641 is that of odd elements not ending in 5 (i.e. not ending in 0,2,4,5,6 or 8); it starts 212159,595631,872897,... - M. F. Hasler, Sep 04 2008
Also indices n such that A209252(n) is zero. - Ray G. Opao, Aug 01 2020

Examples

			a(1) = 200 is in the sequence because changing any digit of 200 (for example 300, 220, or 209) is still composite. The integer 100 is not in the sequence because it can be changed to 107 which is prime.
		

Crossrefs

Programs

  • Magma
    IsA118118:=function(n); D:=Intseq(n); return forall{ : k in [1..#D], j in [0..9] | j eq D[k] or not IsPrime(Seqint(S)) where S:=Insert(D, k, k, [j]) }; end function; [ n: n in [1..1200] | IsA118118(n) ]; // Klaus Brockhaus, Feb 28 2011
    
  • Mathematica
    unprimeableQ[n_] := Block[{d = IntegerDigits@ n, t = {}}, Do[AppendTo[t, FromDigits@ ReplacePart[d, i -> #] & /@ DeleteCases[Range[0, 9], x_ /; x == d[[i]]]], {i, Length@ d}]; ! AnyTrue[Flatten@ t, PrimeQ]]; Select[Range@ 1200, unprimeableQ] (* Michael De Vlieger, Nov 09 2015, Version 10 *)
  • PARI
    /* return 1 if no digit can be changed to make it prime; if d=1, print a prime if n is not prime-proof */ isA118118(n,d=0)={ forstep( k=n\10*10+1, n\10*10+9,2, isprime(k) || next; d && print("prime:",k); return); if( n%2==0 || n%5==0, /* even or ending in 5: no other digit can make it prime, except for the case where the last digit is prime and the first digit is the only other nonzero one */ return( !isprime(n%10) || 9 < n % 10^( log(n+.5)\log(10) ) || (d && print("prime:",n%10)) )); o=10; until( n < o*=10, k=n-o*(n\o%10); for( i=0,9, isprime(k) && return(d && print("prime:",k)); k+=o));1} \\ M. F. Hasler, Sep 04 2008
    
  • Python
    from sympy import isprime
    def selfplusneighs(n):
        s = str(n); d = "0123456789"; L = len(s)
        yield from (int(s[:i]+c+s[i+1:]) for c in d for i in range(L))
    def ok(n): return all(not isprime(k) for k in selfplusneighs(n))
    print([k for k in range(1131) if ok(k)]) # Michael S. Branicky, Jun 19 2022

Extensions

Edited by Charles R Greathouse IV, Aug 05 2010