OFFSET
1,3
COMMENTS
Inclusion of the single-digit terms is conventional: here the property is voidly satisfied since no sum can be constructed by inserting a + sign between two digits, therefore all possible sums are prime. (It is not allowed to prefix a leading zero (e.g., to forbid 4 = 04 = 0+4) since in that case all terms must be prime and one would get A089392.)
All terms different from 20 and not of the form 10^k+1 have the last digit of opposite parity than that of all other digits.
The sequence is marked as "finite", although we do not have a rigorous proof for this, only very strong evidence (numerical and probabilistic). G. Resta has checked that up to 5e16 the only magnanimous numbers with more than 11 digits are 5391391551358 and 97393713331910, the latter being probably the largest element of this sequence. In that case the 10+33+79+104+112+96+71+35+18+6+5+0+1+1 = 571 terms listed in Wilson's b-file are the complete list, which is what the keyword "full" stands for.
LINKS
Robert G. Wilson v, Table of n, a(n) for n = 1..571
Hans Havermann, in reply to Eric Angelini, Insert "+" and always get a prime, Dec 2014
Giovanni Resta, magnanimous numbers, 2013.
Carlos Rivera, Puzzle 401. Magnanimous primes, 2007, The Prime Puzzles & Problems Connection.
EXAMPLE
245 is in the sequence because the numbers 2 + 45 = 47 and 24 + 5 = 29 are both prime. See the first comment for the single-digit terms.
MAPLE
filter:= proc(n) local d;
for d from 1 to ilog10(n)-1 do
if not isprime(floor(n/10^d)+(n mod 10^d)) then return false fi
od:
true
end proc:
select(filter, [$0..10^5]); # Robert Israel, Dec 25 2014
MATHEMATICA
fQ[n_] := Block[{idn = IntegerDigits@ n, lng = Floor@ Log10@ n}, Union@ PrimeQ@ Table[ FromDigits[ Take[ idn, i]] + FromDigits[ Take[ idn, -lng + i -1]], {i, lng}] == {True}]; (* or *)
fQ[n_] := Block[{lng = Floor@ Log10@ n}, Union@ PrimeQ[ Table[ Floor[n/10^k] + Mod[n, 10^k], {k, lng}]] == {True}];
fQ[2] = fQ[3] = fQ[5] = fQ[7] = True; Select[ Range@ 500, fQ]
(* Robert G. Wilson v, Dec 26 2014 *)
mnQ[n_]:=AllTrue[Total/@Table[FromDigits/@TakeDrop[IntegerDigits[n], i], {i, IntegerLength[n]-1}], PrimeQ]; Join[Range[0, 9], Select[Range[ 10, 400], mnQ]] (* Requires Mathematica version 10 or later *) (* Harvey P. Dale, May 26 2017 *)
PROG
(PARI) is(n)={!for(i=1, #Str(n)-1, ispseudoprime([1, 1]*(divrem(n, 10^i)))||return)}
t=0; vector(100, i, until(is(t++), ); t)
(Python)
from sympy import isprime
def ok(n):
s = str(n)
return all(isprime(int(s[:i])+int(s[i:])) for i in range(1, len(s)))
print([k for k in range(357) if ok(k)]) # Michael S. Branicky, Oct 14 2024
CROSSREFS
KEYWORD
nonn,base,nice,fini,full
AUTHOR
M. F. Hasler, Dec 25 2014
STATUS
approved