In [6]:
"""
IPython Notebook v4.0 para python 2.7
Librerías adicionales: Ninguna.
Contenido bajo licencia CC-BY 4.0. Código bajo licencia MIT. (c) Sebastian Flores.
"""
# Configuracion para recargar módulos y librerías
%reload_ext autoreload
%autoreload 2
from IPython.core.display import HTML
HTML(open("style/iwi131.css", "r").read())
Out[6]:
In [14]:
def es_magico(N):
suma_divisores = 1
for m in range(2,N):
if N%m==0:
suma_divisores = suma_divisores + m
if suma_divisores==N:
print N, "es mágico"
else:
print N, "no es mágico"
mi_numero = int(raw_input("Ingrese un número: "))
es_magico(mi_numero)
Realice un diagrama de flujo para el siguiente proceso:
Bucle general:
Bucle de secuencia de Collatz para n:
In [ ]:
def leer_numeros_e_imprimir_solucion():
N = int(raw_input("Ingrese un número: "))
total_pasos = 0
total_numeros = 0
while N!=0:
total_pasos += collatz(N)
total_numeros += 1
N = int(raw_input("Ingrese un número: "))
print total_numeros, "números ingresados"
print total_pasos, "pasos en la secuencia"
def collatz(N):
n_pasos = 0
while N!=1:
if N%2==0:
N = N/2
else:
N = 3*N+1
n_pasos += 1
return n_pasos
leer_numeros_e_imprimir_solucion()