[Python 3] Primfaktor-Zerlegung in 14 Zeilen

Überraschenderweise gibt es in der Standard-Python-Bibliothek keine Primfaktorisierung. Ich habe es einfach mit Counter geschrieben. In 14 Zeilen von oben.

prime_factorization.py


from math import sqrt
from collections import Counter

def prime_factorization(n):
    counter = Counter()
    for i in range(2, int(sqrt(n)) + 1):
        while n % i == 0:
            n //= i
            counter[i] += 1

    if n != 1:
        counter[n] += 1

    return list(counter.items())

def prime_factors(n):
    return set(map(lambda x: x[0], prime_factorization(n)))

if __name__ == '__main__':
    # 2020 = 2^2 * 5^1 * 101^1
    print(prime_factorization(2020)) # => [(2, 2), (5, 1), (101, 1)]
    print(prime_factors(2020)) # => {2, 101, 5}
    #Wenn 1 eine Liste von zurückgibt
    print(prime_factorization(1)) # => []

Referenz

Hochgeschwindigkeits-Primfaktorisierung mit Python - für Wettbewerbsprofis

Recommended Posts

[Python 3] Primfaktor-Zerlegung in 14 Zeilen
Primzahl in Python
Primzahl 2 in Python
Primfaktor-Zerlegung ver.1 der in Python eingegebenen Ganzzahlen
Primfaktor-Zerlegung Version 2 der in Python eingegebenen Ganzzahlen
Segfo Python in 2 Zeilen
Python-Installation in 2 Zeilen @Windows
Unendlicher Primgenerator in Python3
Segfo Python in drei Zeilen
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Projekt Euler # 3 "Maximale Primfaktoren" in Python
Metaanalyse in Python
Unittest in Python
Gefaltetes Liniendiagramm und Skalierungslinie in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
Projekt Euler # 7 "1000 1. Primzahl" in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
Ich habe mit Python nach einer Primzahl gesucht
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Zeichnen Sie Konturlinien, die in Lehrbüchern erscheinen (Python).
Lesen Sie eine Datei mit verstümmelten Linien in Python
Projekt Euler # 10 "Summe der Primzahlen" in Python
Primzahlaufzählung und Primzahlbeurteilung in Python
Finden Sie in Python Primzahlen mit einem möglichst kurzen Code