0% encontró este documento útil (0 votos)
14 vistas2 páginas

Ejercicios Python_curso_funciones

El documento presenta tres ejercicios de programación en Python. El primero consiste en calcular el máximo común divisor de dos números, el segundo en encontrar el exponente de la potencia de 2 más grande menor o igual a un número dado, y el tercero en determinar si un número es pandigital y si sus últimos tres dígitos forman un número primo. Cada ejercicio incluye la definición de funciones y ejemplos de uso.

Cargado por

negger27
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas2 páginas

Ejercicios Python_curso_funciones

El documento presenta tres ejercicios de programación en Python. El primero consiste en calcular el máximo común divisor de dos números, el segundo en encontrar el exponente de la potencia de 2 más grande menor o igual a un número dado, y el tercero en determinar si un número es pandigital y si sus últimos tres dígitos forman un número primo. Cada ejercicio incluye la definición de funciones y ejemplos de uso.

Cargado por

negger27
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

Ejercicios Python

1. Existen múltiples formas de calcular el máximo común divisor de un conjunto de números, escriba
una función de nombre mcd que reciba dos números n1 y n2 como argumentos, y retorne el
máximo común divisor. Por ejemplo para los argumentos 10 y 15 debe retornar 5.
def mcd(n1, n2):
if(n2==0):
return n1
else:
return mcd(n2,n1%n2)

print (mcd(10,15))

2. Para muchas aplicaciones matemáticas, conocer la potencia de 2 más grande que es menor o
igual a cierto número, es muy útil. Escribe una función exponente, que dado un número n,
retorne el exponente de dicha potencia de 2 más grande. Por ejemplo, si el número es 65, tu
programa debe retornar 6, ya que 2⁶ = 64.
def exponente(n):
x=0
y=0
while y<n:
x=x+1
y=pow(2,x)
x=x-1
return x

res=exponente(65)

3. Considere que existen los números primos y los números pandigitales. Los números
pandigitales son aquellos que contienen todos los dígitos del 0 al 9 al menos una vez,
como el 1023478695. Escribe una función panprimo que determine si un número n es
pandigital y si al mismo tiempo, sus últimos 3 dígitos conforman un número primo,
retornando True o False según corresponda. Por ejemplo:

1) El número 2424643 cumple que sus últimos 3 dígitos conforman un número primo
(643), pero no es pandigital por lo tu función que debería retornar False.

2) El número 1234567890 cumple que es pandigital, pero sus últimos 3 dígitos no


conforman un primo (890), por lo que tu función debería retornar False.

3) El número 10123485769 cumple que es pandigital y además el número conformado


por sus 3 últimos dígitos (769) es primo, por lo que debería retornar True.

Tip1: Puedes convertir un entero a una cadena de texto con el método str(numero),
y puedes verificar si alguna letra está en el esta cadena de texto haciendo if letra in
string: ...
Tip2: Un número es primo si solo es divisible por 1 y por sí mismo. Para obtener los
últimos tres dígitos, puedes obtener el resto del número en su división con 100.

def panprimo(n):
x = 0
tam = len(n)
if n.find('0') > -1:
x += 1
if n.find('1') > -1:
x += 1
if n.find('2') > -1:
x += 1
if n.find('3') > -1:
x += 1
if n.find('4') > -1:
x += 1
if n.find('5') > -1:
x += 1
if n.find('6') > -1:
x += 1
if n.find('7') > -1:
x += 1
if n.find('8') > -1:
x += 1
if n.find('9') > -1:
x += 1
n1 = n[tam - 3:tam]
if tam > 2 and x == 10:
num = int(n1)
for div in range(2, num):
if num % div == 0:
return False
return True
else:
return False

res=panprimo("10123485769")
print (res)

También podría gustarte