Sheldon Cooper Primes
Solution 1:
Up to 10,000,000 $\;\;$ (currently running until 100,000,000)
Emirp with added mirror properties (as defined above): $$2, \;\;\; 3, \;\;\; 5, \;\;\; 7, \;\;\; 11, \;\;\; 37, \;\;\; \text{and}\;\;\; 73.$$
$+$ Mirror different from original prime:$$37, \;\;\; \text{and}\;\;\; 73.$$
$+$ Binary representation of the prime is a palindrome: $$73.$$
$+$ A concatenation of the factors of the position number of the prime yields the prime: $$73.$$
Matlab Code
clc
clear
for i = 1:10000000
% Prime:
if (isprime(i))
cont = 1;
else
cont = 0;
end
% 1. It is an emirp with added mirror properties:
if (cont == 1)
mirror_i = str2double(fliplr(num2str(i)));
if (isprime(mirror_i))
cont = 1;
else
cont = 0;
end
end
if (cont == 1)
p_i = length(primes(i));
p_mi = length(primes(mirror_i));
mirror_p_i = str2double(fliplr(num2str(p_i)));
if (mirror_p_i == p_mi)
cont = 1;
disp(' ')
disp(' ')
disp(['------------->> ',num2str(i)])
disp(['Satisfies Condition 1: ',num2str([mirror_i,p_i,p_mi])])
else
cont = 0;
end
end
% 2. Mirror different from original prime:
if (cont == 1)
if (i == mirror_i)
cont = 0;
else
cont = 1;
disp('Satisfies Condition 2')
end
end
% 3. Binary representation of the prime is a palindrome:
if (cont == 1)
bin = dec2bin(i);
mirror_bin = fliplr(num2str(bin));
if (bin == mirror_bin)
cont = 1;
disp(['Satisfies Condition 3: ',num2str(str2double(bin))])
else
cont = 0;
end
end
% 4. A concatenation of the factors of the position number of the prime
% yields the prime:
if (cont == 1)
if (prod(sscanf(num2str(i),'%1d')) == p_i)
disp('Satisfies Condition 4')
end
end
end
Solution 2:
The proof of the "Sheldon Conjecture" was published a few months ago in the February edition of the American Mathematical Monthly.
https://math.dartmouth.edu/~carlp/sheldon02132019.pdf
Solution 3:
I created a [script] you can play with here to test this out. Note that the answer depends on your numerical base -- among all bases I've tried, 10 seems to be the only base in which there's a Sheldon Cooper prime.
Base 16 seems promising, however -- it has a large number of "special emirps", and actually provides primes with the appropriate product of digits, which very few bases provide.
Can someone try base = 16, convbase = 2 (and perhaps other bases in multiple tabs) with a large uppercap (e.g. 10,000,000) using fastcount = false? It would take ~15 hours for an upper cap of 10 million -- or just 90 minutes for an uppercap of 1 million -- but I can't leave my laptop on for so long (the fan is malfunctioning).