Forum >> Programmazione Python >> Calcolo scientifico >> Fattorizzazione numero

Pagina: 1

Ciao a tutti,
Sto cercando di scrivere un programma semplicissimo, usando un ciclo while e senza liste, che fattorizzi un numero dato




es:




>>>fattorizzazione(20)

2

2

5




Idee?
Puoi provare con una cosa simile:
def prime_factors(n):
    i = 2
    factors = []
    while i * i <= n:
        if n % i:
            i += 1
        else:
            n //= i
            factors.append(i)
    if n > 1:
        factors.append(n)
    return factors
Ciao.
Daniele

P.S. Il codice non è mio, viene da qui.


--- Ultima modifica di Daniele aka Palmux in data 2016-02-05 18:57:00 ---
senza liste :dont-know: :dont-know: :sarcastic: :question: :fingers-crossed: :py:
può andare così:
N=input("Dammi il valore di N:")
fattore=str(N)+"=1"
d=2

while N>=d:
	if N%d == 0:
		fattore=fattore+'*'+str(d)
		N=N/d
	else:
		d=d+1
	

print fattore



Pagina: 1



Esegui il login per scrivere una risposta.