Wie man sie erkennt
Nehmen Sie eine positive ganze Zahl k. Finde seine Teiler . Finden Sie die unterschiedlichen Primfaktoren jedes Divisors . Fassen Sie alle diese Faktoren zusammen. Wenn diese Zahl (Summe) ein Teiler von k ist ( wenn die Summe k teilt ), dann ist diese Zahl k eine BIU-Zahl
Beispiele
Nehmen wir die Zahl. 54
Finden Sie alle Teiler: [1, 2, 3, 6, 9, 18, 27, 54]
Finden Sie die unterschiedlichen Primfaktoren jedes Divisors.
HINWEIS: Für den Fall 1
nehmen wir als unterschiedliche Primfaktoren1
1 -> 1
2 -> 2
3 -> 3
6 -> 2,3
9 -> 3
18 -> 2,3
27 -> 3
54 -> 2,3
Nun nehmen wir die Summe aller dieser Primfaktoren
1+2+3+2+3+3+2+3+3+2+3=27
27
dividiert 54 (lässt keinen Rest übrig).
Ist 54
also eine BIU-Zahl .
Weitere (schnell) Beispiel für k=55
Divisoren: [1,5,11,55]
Summe der verschiedenen Primfaktoren: 1+5+11+5+11=33
33
ist nicht ein Teiler von 55, das ist , warum 55
ist nicht eine BIU - Nummer .
BIU-Nummern
Hier sind die ersten 20 von ihnen:
1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...
Aber diese Liste geht weiter und es gibt viele BIU-Nummern , die darauf warten, von Ihnen entdeckt zu werden!
Die Herausforderung
Eine ganze Zahl gegeben n>0
als Eingang , Ausgang der n - ten Reihe BIU
Testfälle
Eingabe-> Ausgabe
1->1
2->21
42->23595
100->118300
200->415777
300->800175
Dies ist Codegolf. Die kürzeste Antwort in Bytes gewinnt!
1
ist nicht Prime ...Antworten:
Gelee ,
1615 BytesProbieren Sie es online aus!
Woohoo für Builtins (aber sie verstecken sich manchmal auf mysteriöse Weise vor mir, also -1 Byte dank @HyperNeutrino )
Wie es funktioniert
quelle
ÆfQ€
anstelle vonÆFḢ€€
but they mysteriously hide from me sometime
"Jelly ist ein Spiel von Atom Hide und Programmierer suchen" ~ i cri everytimÆDÆFSSḢ‘ḍ
.05AB1E , 9 Bytes
Verwendet die 05AB1E- Codierung. Probieren Sie es online aus!
quelle
Mathematica, 85 Bytes
quelle
Schale , 13 Bytes
Probieren Sie es online aus!
Explantation
quelle
Eigentlich 16 Bytes
Probieren Sie es online aus!
Erläuterung:
quelle
Pyth , 22 Bytes
Probieren Sie es hier aus!
Dies ist meine erste Pyth-Lösung. Ich habe sie dank der Empfehlungen einiger sehr freundlicher Benutzer im Chat gelernt: -) ... Die Lösung dauerte ungefähr eine Stunde.
Erläuterung
quelle
Haskell , 115 Bytes
Alle Listenverständnisse hier können wahrscheinlich heruntergespielt werden, aber ich bin mir nicht sicher, wie. Golfvorschläge willkommen! Probieren Sie es online aus!
Ungolfing
Diese Antwort besteht eigentlich aus drei Funktionen, die zusammengefügt werden.
quelle
Japt ,
2221 BytesProbier es aus
Ich denke, die
g
Funktionsmethode sollte zu einer kürzeren Lösung führen, aber ich kann nicht herausfinden, wie es funktioniert!Erläuterung
Implizite Eingabe einer Ganzzahl
U
.Geben Sie ab
0
die erste Zahl zurück, die true zurückgibt, wenn Sie die folgende Funktion durchlaufen, wobeiX
es sich um die aktuelle Zahl handelt.Holen Sie sich die Divisoren (
â
) vonX
und durchlaufen Sie jeweils eine Funktion.Holen Sie sich die Faktoren (
k
) des aktuellen Elements und entfernen Sie die Duplikate (â
).Reduzieren Sie das Array durch Hinzufügen, nachdem Sie zuerst dasselbe für jedes Sub-Array getan haben.
1
Zum Ergebnis hinzufügen .Prüfen Sie, ob
X
diese Zahl teilbar ist.Inkrementieren Sie
J
(anfänglich-1
) um das Ergebnis dieses Tests.Überprüfen Sie die Gleichheit mit
U
.quelle