Dies hat keinen praktischen Zweck, aber es könnte Spaß machen, Golf zu spielen.
Herausforderung
Bei einer gegebenen Zahl n ,
- Zählen Sie die Menge jeder Ziffer in n und addieren Sie 1 zu jeder Zählung
- Nehmen Sie die Primfaktorisierung von n
- Zählen Sie die Menge jeder Ziffer in der Primfaktorisierung von n , ohne doppelte Primzahlen einzuschließen
- Erstellen Sie eine neue Liste, indem Sie die jeweiligen Elemente der Listen aus den Schritten 1 und 3 miteinander multiplizieren
- Geben Sie die Summe dieser Liste zurück
Zum Beispiel hat 121 zwei 1
s und a 2
, so dass Sie die folgende Liste aus Schritt 1 erhalten würden:
0 1 2 3 4 5 6 7 8 9
1 3 2 1 1 1 1 1 1 1
Die Primfaktorisierung von 121 ist 11 2 , was die folgende Liste für Schritt 3 ergibt:
0 1 2 3 4 5 6 7 8 9
0 2 0 0 0 0 0 0 0 0
Beachten Sie, dass wir den Exponenten nicht gezählt haben. Diese multiplizieren sich, um Folgendes zu erhalten:
0 1 2 3 4 5 6 7 8 9
0 6 0 0 0 0 0 0 0 0
Und die Summe dieser Liste ist 6.
Testfälle
1 -> 0
2 -> 2
3 -> 2
4 -> 1
5 -> 2
10 -> 2
13 -> 4
121 -> 6
Anmerkungen
- Standardlücken sind verboten.
- Eingabe und Ausgabe können in jedem vernünftigen Format erfolgen.
- Sie sollten Einsen (oder Nullen für Schritt 3) in der Liste für Ziffern belassen, die nicht in der Nummer enthalten sind.
- Dies ist Code-Golf , also gewinnt die kürzeste Lösung in Bytes.
232792560
->[2,1,4,2,1,2,2,2,1,2]
(Schritt 1);2*2*2*2*3*3*5*7*14*17*19
(Schritt 2); so[0,5,1,2,0,1,0,2,0,1]
(Schritt 3); dann[0,5,4,4,0,2,0,4,0,2]
(Schritt 4); und sollte daher ausgeben21
.Antworten:
Gelee , 16 Bytes
Probieren Sie es online aus!
Entwickelt unabhängig von und nicht genau gleich der anderen Jelly-Lösung .
Erläuterung
Ich bin Gong
242
als Beispiel Eingabe zu verwenden.quelle
Gelee ,
1817 Bytes-1 Byte dank Caird Coinheringaahing & H.PWiz (vermeiden Sie die Paarung der beiden Vektoren)
Eine monadische Verknüpfung, die eine positive Ganzzahl nimmt und eine nicht negative Ganzzahl zurückgibt.
Probieren Sie es online aus!
Wie?
quelle
APL (Dyalog) ,
4341 BytesProbieren Sie es online aus!
Wie?
r←⎕
- eingegeben inr
3pco
- Hauptfaktoren∪
- einzigartig⎕D,r
-r
vorangestellt mit0-9
⍕¨
- Formatieren Sie die Faktoren und den vorangestellten Bereich⎕D∘.=
- kartesischer Vergleich mit jedem Element der Zeichenfolge0123456789
+/¨
- Summiere jede Zeile der beiden gebildeten Tabellen×/
- Multiplizieren Sie die beiden verbleibenden Vektoren+/
- Summiere den zuletzt gebildeten Vektorquelle
Pip , 44 Bytes
Nimmt Eingaben vom Befehlszeilenargument entgegen. Probieren Sie es online aus!
quelle
Python 2 ,
136127 BytesProbieren Sie es online aus!
Credits
quelle
-~
ich immer ein bisschen verwirrt war. Und ich muss mich an das<1
Ding erinnern . Danke für die Hilfe.-~
und verwandte Themen.