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

#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.
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

von hak (980 Punkte)
- 10.09.2016 um 18:55 Uhr

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
Seite 1 von 0
1