049 – Primzahl-Permutationen

 

Die arithmetische Sequenz 1487, 4817, 8147 mit der Differenz 3330 zwischen den Elementen hat zwei interessante Eigenschaften:

1: Alle drei Elemente sind Primzahlen
2: Alle drei Elemente sind Permutationen voneinander

Es gibt keine solche Sequenz aus ein-, zwei- oder dreistelligen Primzahlen, aber es gibt eine weitere vierstellige.

Welche 12-stellige Zahl ergibt sich, wenn man die drei Elemente dieser Sequenz hintereinanderschreibt?

Lösung

Hier wählen wir einen Ansatz mit verschachtelten Schleifen.

clc
clear all
tic

for diff = 18 : 18 : 4000
    for a = primes(1e4)
        b = a + diff;
        c = b + diff;
        if c < 1e5
            if isprime(a)
                if isprime(b)
                    if isprime(c)
                        va = [floor(a/1000) floor(mod(a/100, 10)) ...
                            floor(mod(a/10, 10)) floor(mod(a, 10))];
                        permV = perms(va);
                        perm = permV * [1000 100 10 1]';
                        if ismember(b, perm)
                            if ismember(c, perm)
                                disp([num2str(a) num2str(b) num2str(c)])
                            end
                        end
                    end
                end
            end
        end
    end
end

toc

Ergebnis: 296962999629
Rechenzeit: 29.574316 Sekunden

Ähnliche Artikel

Kommentar verfassen