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).