hola

Páginas: 3 (699 palabras) Publicado: 16 de diciembre de 2013
Clase 5
Recursión

1

Problema 1. Escribir una función que calcule el factorial
de un entero positivo. Por ejemplo, 4!=24=1*2*3*4 y 0!=1
Solución 1: x !

= 1*2*...*x

(0!=1)

deffactorial(x):
producto=1
i=1
while i = 10 :
n = n + 1
x = x/10 #elimina último dígito
return n
x
n

245
1

24
2

2
3

6

def digitos(x):
n=1 #contador de dígitos
while x >= 10 :
n= n + 1
x = x/10 #elimina último dígito
return n
x=int(input('Ingrese un numero, 0
para finalizar'))
while x != 0:
print (x, 'tiene: ', digitos(x),
' digitos')
x=int(input('Ingrese unnumero, 0
para finalizar'))
7

solución recursiva:
 1 si x= 10
def digitos(x):
if x < 10 :
return 1
else:
return 1 + digitos(x/10)
digitos(245)=1+digitos(24)
digitos(24)=1+digitos(2)digitos(2)=1
digitos(24)=1+1=2
digitos(245)=1+2=3
8

Problema

Método que reciba un entero y lo escriba al revés
Ejemplo: invertir(345); escribe 543.

def invertir(x):

9

Iterativo
definvertir(x):
while x>=10:
print (x%10, end='')
x=int(x/10)
print (x)

10

Def invertir(x):
while x>=10:
print (x%10, end='')
x=int(x/10)
print (x)
y=int(input('Ingrese un numero, 0 paracontinuar'))
while y>=0:
invertir(y)
y=int(input('Ingrese un numero, 0 para continuar'))

11

Recursivo
def invertir(x):
if x>=10:
print (x%10, end='')
invertir(int(x/10))
else:
print (x)12

Recursivo Abreviado
def invertir(x):
print (x%10, end='')
if x>=10:
invertir(int(x/10))

13

Problema. Método que reciba un entero y lo escriba al revés
Ejemplo: invertir(345);escribe 543.
def invertir(x):
iterativa
recursiva
while x>=10 :
if x>=10 :
print (x%10, end='')
print (x%10, end='')
x=int(x/10)
invertir(int(x/10))
print (x)
else:
print (x)
recursivaabreviada
print (x%10, end='')#escribir último dígito
if x >= 10:
#si tiene más dígitos
invertir(int(x/10))# invertirlos

14

Problema
Función que calcule el máximo común divisor
Ejemplos:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • hola hola hola hola
  • hola hola hola hola hola
  • hola hola hhola hola y hola
  • hola hola hola
  • Hola Hola Hola
  • Hola Hola Hola
  • hola hola hola
  • Hola hola

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS