|
|
A078972
|
|
Brilliant numbers: semiprimes (products of two primes, A001358) whose prime factors have the same number of decimal digits.
|
|
84
|
|
|
4, 6, 9, 10, 14, 15, 21, 25, 35, 49, 121, 143, 169, 187, 209, 221, 247, 253, 289, 299, 319, 323, 341, 361, 377, 391, 403, 407, 437, 451, 473, 481, 493, 517, 527, 529, 533, 551, 559, 583, 589, 611, 629, 649, 667, 671, 689, 697, 703, 713, 731, 737, 767, 779, 781
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
"Brilliant numbers, as defined by Peter Wallrodt, are numbers with two prime factors of the same length (in decimal notation). These numbers are generally used for cryptographic purposes and for testing the performance of prime factoring programs." [Alpern]
Up to 10^8 the approximate sum of reciprocals is ~1.232884485... - Jason Earls, Oct 15 2010
Let f(n) = a(n) - floor(sqrt(a(n)))^2, or how much larger a(n) is than the largest square number <= a(n). Then f(n) is odd for all even squares, and even for all odd squares where n > 5. See "Ulam spiral" in links. - Christian N. K. Anderson, Jun 12 2013
|
|
REFERENCES
|
P. D. James, The Private Patient, Knopf, NY, 2008, p. 192. (from N. J. A. Sloane, Aug 27 2009)
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
1711 = 29*59 is in the sequence since both of its factors have two digits.
|
|
MATHEMATICA
|
fQ[n_] := Block[{fi = FactorInteger@n}, Plus @@ Last /@ fi == 2 && Floor[ Log[10, fi[[1, 1]] ]] == Floor[ Log[10, fi[[ -1, 1]] ]]]; Select[ Range@792, fQ@# &] (* Robert G. Wilson v, May 26 2006 *)
brilQ[n_]:=Module[{fin=FactorInteger[n]}, Total[Transpose[fin][[2]]]==2 && Length[Union[IntegerLength[Transpose[fin][[1]]]]]==1]; Select[Range[1000], brilQ] (* Harvey P. Dale, Feb 06 2011 *)
Select[Range@1000, Differences@IntegerLength@Flatten@(ConstantArray@@#&/@FactorInteger[#]) == {0} &] (* Hans Rudolf Widmer, Oct 25 2022 *)
|
|
PROG
|
(PARI) is(n)=my(f=factor(n)); (#f[, 1]==1 && f[1, 2]==2) || (#f[, 1]==2 && f[1, 2]==1 && f[2, 2]==1 && #Str(f[1, 1])==#Str(f[2, 1])) \\ Charles R Greathouse IV, Jun 16 2011
(Haskell)
import Data.Function (on)
a078972 n = a078972_list !! (n-1)
a078972_list = filter brilliant a001358_list where
brilliant x = (on (==) a055642) p (x `div` p) where p = a020639 x
(Python)
from sympy import sieve
for n in range(3):
pr = list(sieve.primerange(10**n, 10**(n+1)))
for i, p in enumerate(pr):
for q in pr[i:]:
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,easy,nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|