Python :: Aufgabe #91 :: Lösung #1

4 Lösungen Lösungen öffentlich
#91

Zahl als Produkt zweier Faktoren ohne 0

Fortgeschrittener - Python von Veigar - 24.11.2015 um 16:33 Uhr
Schreibe ein Programm das dir für jede beliebige Zahl ausgibt ob sie als Produkt zweier natürlicher Zahlen die beide keine "0" enthalten darstellbar ist.

Zum Beispiel:
deinAlgorithmus(10) =True (5*2)
deinAlgorithmus(100)= True (25*4)

Sehe aber bitte davon ab ganz einfach ein Programm zu schreiben das für alle Zahlen die kleiner sind als die zu testende Zahl und die keine Nullen enthält überprüft ob der "Gegenfaktor" (also die Zahl die mit der Zahn multipliziert die gesuchte zahl ergibt) ebenfalls keine 0en enthält weil das Programm für sehr hohe Zahlen (Milliarde+) eine moderate Rechenzeit in Anspruch nehmen soll.
#1
vote_ok
von hak (980 Punkte) - 10.09.2016 um 18:55 Uhr
Quellcode ausblenden Python-Code
def factors(n):
    # maximal 1 faktor > Wurzel(n), 1*n habe ich mal ausgeschlossen
    return [ [i, n//i] for i in range(2, int(n**0.5)+1) if n % i == 0 ] 
        
def has_non_zero_factors(n) :
    for i,j in factors(n):
        if not '0' in str(i) and not '0' in str(j):
            return True
    return False

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben