FUNCIÓN C++ | Determinar si un número es perfecto
Programación 4ALL
Programación para todos(as).
miércoles, 27 de abril de 2016
viernes, 22 de abril de 2016
DIAGRAMA DE FLUJO: Determinar si un número es Perfecto
DIAGRAMA DE FLUJO: Determinar si un número es Perfecto o no.
Determinar si un número es perfecto. Aquí lo determinamos mediante un diagrama de flujos para que puedas implementarlo en cualquier lenguaje de programación.
Un número es perfecto cuando es igual a la suma de sus divisores propios.
Los divisores propios de un número son los divisores que son estrictamente más pequeños que ese número.
Página en facebook: http://www.facebook.com/daniel1p
martes, 19 de abril de 2016
DIAGRAMA DE FLUJO: Determinar si un número es primo
DIAGRAMA DE FLUJO: Determinar si un número es primo
Esta es la novena entrega de videos tutoriales en la serie de videos de Diagramas de Flujos en YouTube.
Para ir a la lista de reproducción: https://www.youtube.com/playlist?list=PLr3k3XDPMdLdbNp60_14zkDfC_zgE87QS
¡Deja tu comentario en la caja de comentarios!
miércoles, 9 de marzo de 2016
Numeros de 6 digitos en python: Hallar el mayor numero de seis digitos que sea un cuadrado perfecto y el producto de dos numeros sucesivos menos 800
# hallar el numero de 6 digitos que sea un cuadrado perfecto y el producto de dos numeros sucesivos menos 800
def isCP(n):
# me dice si n es un cuadrado perfecto
vf = False # no lo es
raiz = int(n**0.5)
if raiz*raiz == n:
vf = True
return vf
def pTwonumberConsec(n):
# me dice si n es el producto de dos numeros consecutivos enteros menos 800
x = 1002
y = 1001
vf = 0 # no lo es
while x*y-800 >= n:
if not n != x*y-800:
vf = 1
x -= 1
y -= 1
return vf
# main
m = 0 #mayor
for x in range(100000,1000000):
if isCP(x) and pTwonumberConsec(x):
m = x
print (m)
def isCP(n):
# me dice si n es un cuadrado perfecto
vf = False # no lo es
raiz = int(n**0.5)
if raiz*raiz == n:
vf = True
return vf
def pTwonumberConsec(n):
# me dice si n es el producto de dos numeros consecutivos enteros menos 800
x = 1002
y = 1001
vf = 0 # no lo es
while x*y-800 >= n:
if not n != x*y-800:
vf = 1
x -= 1
y -= 1
return vf
# main
m = 0 #mayor
for x in range(100000,1000000):
if isCP(x) and pTwonumberConsec(x):
m = x
print (m)
INPUT
OUTPUT
640000
Ahora, en vez de restarle 800 al producto de los dos números enteros sucesivos, réstale 400 y comenta tu respuesta!
dpb, Daniel Peña
Etiquetas:
cuadrado perfecto,
mayor numero de seis digitos,
menos 400,
menos 800,
numeros de seis digitos,
producto de dos numeros sucesivos,
Python
jueves, 25 de febrero de 2016
Juego del Ahorcado en Python
Problema 3. Juego del ahorcado en python. El jugador 1 introduce una palabra, luego el jugador trata de adivinar esa palabra. El jugador 2 cuenta con un total de 5 vidas.
Solución: en Python.
Hay un problema sencillo en este código, te reto a encontrarlo, arreglarlo y luego a compartirlo en esta comunidad.
# Juego del ahorcado
w = input("Secret word: ") # secret word
e = "_ "*len(w) # espacios
e = e.split()
print (' '.join(e))
s = 1 # sigue
v = 5 # vidas
while s and v > 0:
my_word = input("Guess a letter: ")
if my_word in w:
idx = w.index(my_word)
e[idx] = my_word
print (' '.join(e))
if my_word not in w:
v = v - 1
print ("Vidas:",v)
if ''.join(e) == w:
print ("You won!")
s = 0
dpb, Daniel Peña
Solución: en Python.
Hay un problema sencillo en este código, te reto a encontrarlo, arreglarlo y luego a compartirlo en esta comunidad.
# Juego del ahorcado
w = input("Secret word: ") # secret word
e = "_ "*len(w) # espacios
e = e.split()
print (' '.join(e))
s = 1 # sigue
v = 5 # vidas
while s and v > 0:
my_word = input("Guess a letter: ")
if my_word in w:
idx = w.index(my_word)
e[idx] = my_word
print (' '.join(e))
if my_word not in w:
v = v - 1
print ("Vidas:",v)
if ''.join(e) == w:
print ("You won!")
s = 0
dpb, Daniel Peña
Solución de una ecuación de segundo grado.
Problema: Hallar la solución de una ecuación de segundo grado. Tomar en cuenta las raíces complejas y las reales.
Lenguaje utilizado: Python
# Calcular las raices de una ecuacion de segundo grado.
# Tomar en cuenta las raices reales e imaginaria.
from decimal import *
# Paso 1: crear la funcion
def solucion(a,b,c):
# devolver las raices reales o imaginarias
# Paso 2: calcular el discriminante
d = b*b - (4*a*c)
# Paso 3: Llevandoso de la matematica detras de esto,
# calculamos las raices dependiendo del discriminante
if d < 0:
#print ("DEBUG: determinante negativo.")
# Si esto sucede, entonces las soluciones son imaginarias.
# La parte real de la solucion sera igual a cero.
xr1 = 0
xi1 = d**0.5/(2*a)
xr2 = 0
xi2 = -(d**0.5/(2*a))
return "Xi1:",xi1, "Xi2:",xi2
elif d > 0:
#print ("DEBUG: determinante postivo")
# Si esto sucede, entonces existen dos soluciones reales distintas
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xi1 = 0
xr2 = -b/(2*a) - (d**0.5) / (2*a)
xi2 = 0
return "X1:",xr1, "X2:",xr2
else:
#print ("DEBUG: determinante igual a cero")
# Si esto sucede, es porque d es igual a cero. En este caso, las soluciones son reales e iguales.
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xr2 = xr1
return "Xr1:",xr1, "Xr2:",xr2
a = input("Coeficiente a: ")
b = input("Coeficiente b: ")
c = input("Coeficiente c: ")
print (solucion(int(a),int(b),int(c)))
Si tienes otra solución más eficiente compártela con la comunidad! Gracias.
dpb, Daniel Peña.
Lenguaje utilizado: Python
# Calcular las raices de una ecuacion de segundo grado.
# Tomar en cuenta las raices reales e imaginaria.
from decimal import *
# Paso 1: crear la funcion
def solucion(a,b,c):
# devolver las raices reales o imaginarias
# Paso 2: calcular el discriminante
d = b*b - (4*a*c)
# Paso 3: Llevandoso de la matematica detras de esto,
# calculamos las raices dependiendo del discriminante
if d < 0:
#print ("DEBUG: determinante negativo.")
# Si esto sucede, entonces las soluciones son imaginarias.
# La parte real de la solucion sera igual a cero.
xr1 = 0
xi1 = d**0.5/(2*a)
xr2 = 0
xi2 = -(d**0.5/(2*a))
return "Xi1:",xi1, "Xi2:",xi2
elif d > 0:
#print ("DEBUG: determinante postivo")
# Si esto sucede, entonces existen dos soluciones reales distintas
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xi1 = 0
xr2 = -b/(2*a) - (d**0.5) / (2*a)
xi2 = 0
return "X1:",xr1, "X2:",xr2
else:
#print ("DEBUG: determinante igual a cero")
# Si esto sucede, es porque d es igual a cero. En este caso, las soluciones son reales e iguales.
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xr2 = xr1
return "Xr1:",xr1, "Xr2:",xr2
a = input("Coeficiente a: ")
b = input("Coeficiente b: ")
c = input("Coeficiente c: ")
print (solucion(int(a),int(b),int(c)))
Si tienes otra solución más eficiente compártela con la comunidad! Gracias.
dpb, Daniel Peña.
martes, 23 de febrero de 2016
Todos los números positivos menores que 500, cuyos cuadrados terminen en el mismo número
Lenguaje de programación utilizado: Python
Solución 1.
# numeros del 1 al 500, cuyos cuadrados terminen en el mismo numero
nums = [] # numeros
for n in range(1,500):
val = (n*n)%(10**len(str(n)))
if n == val:
list.append(n)
print (list)
Solución 2.
# numeros del 1 al 500, cuyos cuadrados terminen en el mismo numero
nums = [] # numero
for n in range(1,500):
if str(n*n).endwith(str(x)):
nums.append(x)
print (nums)
Solución 1.
# numeros del 1 al 500, cuyos cuadrados terminen en el mismo numero
nums = [] # numeros
for n in range(1,500):
val = (n*n)%(10**len(str(n)))
if n == val:
list.append(n)
print (list)
Solución 2.
# numeros del 1 al 500, cuyos cuadrados terminen en el mismo numero
nums = [] # numero
for n in range(1,500):
if str(n*n).endwith(str(x)):
nums.append(x)
print (nums)
Suscribirse a:
Comentarios (Atom)