MATL , 25 Bytes
Dies funktioniert für Eingaben bis zu 16
:
10,i:^9/Y[t0)Yftb!w\~s1=)
Die folgende Version verwendet 31 Bytes und funktioniert bis zu 18
. Dafür 19
werden ca. 4 GB Arbeitsspeicher benötigt (ich konnte es nicht ausführen).
10,i:^9/Y[t0)5X2Y%Yfotb!w\~s1=)
Beispiel
>> matl
> 10,i:^1-,9/t0)5X2Y%Yfotb!w\~s1=)
>
> 6
7 13
Erläuterung
Bei der Eingabe der Konkretheit berücksichtigen 6
. Zuerst werden die Hauptteiler von 111111
berechnet; in diesem Fall sind die Ergebnisse 3
, 7
, 11
, 13
, 37
. Dann wird die Modulo - Operation (Divisionsrest) wird für alle Kombinationen von Zahlen berechnet 1
, 11
... 111111
und die berechneten Teilern. Dies nutzt die implizite Singleton-Erweiterung von MATL. Das Ergebnis ist in diesem Fall eine 6
x- 5
Matrix, wobei jede Spalte einem der Teiler entspricht. Akzeptierte Teiler (Spalten) sind diejenigen, für die nur der 1
Wert (nämlich der letzte) den Rest Null ergibt.
10,i:^9/Y[ % generate vector with `1`, `11`, ... depending on input number, say "n"
t0) % pick the last element: `111...1` (n ones)
5X2Y% % * convert to uint64, so that larger numbers can be handled
Yf % prime factors
o % * convert to double precision, so that modulus can be done
t % duplicate
b % bubble up element in stack
! % transpose
w % swap elements in stack
\ % modulus after division (element-wise, singleton expansion)
~s % number of zero values in each column
1= % is equal to 1? (element-wise, singleton expansion)
) % index divisors with that logical index
(*) In Kurzfassung entfernt
quelle
Antworten:
Julia, 103 Bytes
Dies ist eine unbenannte Funktion, die eine Hilfsfunktion aufruft
R
. Um es aufzurufen, geben Sie der Hauptfunktion einen Namen, zf=n->...
.Ungolfed:
quelle
LabVIEW, 33 LabVIEW-Grundelemente
19 dauert ewig ...
Speichern Sie alle Primzahlen und löschen Sie Elemente aus der letzten Gruppe, wenn sie im anderen Array gefunden wurden.
quelle
J, 24 Bytes
Erwartet Zahlen mit erweiterter Genauigkeit nach 6 (z . B.
19x
statt19
).Probieren Sie es online!
Es gibt wahrscheinlich einen kürzeren Weg, um die Repunits zu generieren, der auch die Caps vermeidet.
Erläuterung
Wie es funktioniert, visuell
Ich denke, dass solche visuellen Erklärungen für diejenigen, die J nicht kennen, leichter zu ertragen sind. Dies sind Ergebnisse der REPL.
quelle