Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen

Einführung

Hallo. Es ist zäh und zäh. Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen.

Es ist weniger als ein halbes Jahr her, seit ich anfing, mich selbst mit dem Programmieren zu beschäftigen AtCoder ist grün, also bin ich kein starker Mann.

Da es nur wenige Artikel über AOJ gibt, meine Aufzeichnung Ich hoffe, dass das Python-Team die Menschen unterstützt, die in Zukunft ihr Bestes geben werden. Ich habe es zusammen versucht.

Ah, lass uns gehen

Inhaltsverzeichnis

NTL_1_A : Prime Factorization NTL_1_B : Power NTL_1_C : Least Common Multiple NTL_1_D : Euler's Phi Function NTL_1_E : Extended Euclid Algorithm

NTL_1_A : Prime Factorization


#Eingang
n = int(input())

#Primfaktor-Zerlegung und Speicherfaktoren in der Liste
def fac(n):
    f_n = n
    l = []
    if n==1:
        l.append(1)
        exit()
    
    for i in range(2,int(n**0.5)+1):
        while n%i==0:
            n //= i
            l.append(i)
    if n!=1:
        l.append(n)
    
    return print("{0}:".format(f_n),*l)

fac(n)

NTL_1_B : Power

 #pow tsuyo oi
m,n = map(int,input().split())
mod = 10**9+7

print(pow(m,n,mod))

NTL_1_C : Least Common Multiple

n = int(input())
a = list(map(int,input().split()))

#gcd und lcm Funktionen
def gcd(a,b):
    a,b = min(a,b), max(a,b)
    while b!=0:
        a,b=b,a%b
    return a

def lcm(a,b):
    return a*b//gcd(a,b)

from functools import reduce
ans = reduce(lcm,a)
print(ans)

NTL_1_D : Euler's Phi Function

Es scheint so etwas zu geben ↓ Eulers φ-Funktion (https://mathtrain.jp/phi)

n = int(input())
l = []
def fac(n):
    if n==1:
        l.append(1)
        exit()
    else:
        for i in range(2,int(n**0.5)+1):
            if n%i==0:
                while n%i==0:
                    n //= i    
                l.append(i)
        
        if n!=1:
            l.append(n)
    
    return l

fac(n)
ans = n
for i in l:
    ans *= (1-1/i)
print(int(ans))

NTL_1_E : Extended Euclid Algorithm

Dieser Artikel ist leicht zu verstehen. Ich bin immer verschuldet. Erweiterte euklidische gegenseitige Aufteilung (https://qiita.com/drken/items/b97ff231e43bce50199a)

#Erweiterter Euklidisch
def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y



x,y = map(int,input().split())
a,b,c = egcd(x,y)

if x==y:
    print(0,1)
    exit()

print(b,c)

abschließend

Dies ist mein erster Artikel, also sei sanft

Recommended Posts

Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich wollte ABC172 mit Python lösen
Ich wollte den NOMURA Contest 2020 mit Python lösen
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Python zu kratzen
Wie man offline in Echtzeit schreibt Ich habe versucht, E12 mit Python zu lösen
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, WebScraping mit Python.
Ich möchte mit Python debuggen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich wollte den Panasonic Programming Contest 2020 mit Python lösen
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe verschiedene Methoden ausprobiert, um japanische Post mit Python zu senden
Ich habe versucht, das Problem der Kombinationsoptimierung mit Qiskit zu lösen
[Python] Ich habe versucht, Tweets über Corona mit WordCloud zu visualisieren
Mayungos Python Learning Episode 3: Ich habe versucht, Zahlen zu drucken
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
[Für Anfänger von Wettkampfprofis] Ich habe versucht, 40 AOJ "ITP I" -Fragen mit Python zu lösen
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, die Behandlung von Python-Ausnahmen zusammenzufassen
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich habe versucht, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, PLSA in Python 2 zu implementieren
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Python3-Standardeingabe habe ich versucht zusammenzufassen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Ich möchte mit aws mit Python spielen
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Optuna die Nummer lösen zu lassen
Ich habe eine funktionale Sprache mit Python ausprobiert