Foros del Web » Programando para Internet » Python »

Calculos de ecuaciones con while.

Estas en el tema de Calculos de ecuaciones con while. en el foro de Python en Foros del Web. Muy buenas gente: Intentando calcular el ejercicio de abajo lo he hecho a mi manera y se que no tiene nada que ver y tampoco ...
  #1 (permalink)  
Antiguo 14/10/2010, 12:44
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Calculos de ecuaciones con while.

Muy buenas gente:

Intentando calcular el ejercicio de abajo lo he hecho a mi manera y se que no tiene nada que ver y tampoco funciona. Hay que hacerlo con While.



Código Python:
Ver original
  1. n = float(raw_input('Introduce un valor n: '))
  2. m = float(raw_input('Introduce un valor m: '))
  3.  
  4. sumatorio = 1
  5. i = 0
  6. while i < n:
  7.     i += 1
  8.     sumatorio *= i
  9. print sumatorio
  10.  
  11. sumatorio2 = 1
  12. e = 0
  13. while e < m:
  14.     e += 1
  15.     sumatorio2 *= e
  16. #print sumatorio2
  17.  
  18. sumatorio3 = 1
  19. u = 0
  20. while u <= (sumatorio - sumatorio2):
  21.     u += 1
  22.     sumatorio3 *= u
  23. #print sumatorio3
  24.  
  25. var = (sumatorio / (sumatorio - sumatorio2) * sumatorio2)
  26. print var

Cita:
Introduce un valor n: 15
Introduce un valor m: 10
1307674368000
He hecho el programa de varias maneras y no saco una. El resultado debe dar 3003.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 14/10/2010, 12:48
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Por que no usas tu código anterior de factoriales para calcular n!, (n-m)! y m! y hacer las divisiones.
  #3 (permalink)  
Antiguo 14/10/2010, 12:50
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Calculos de ecuaciones con while.

Buenas:

De ahí lo estaba haciendo, claro que no lo veo. ejjeje. Lo seguiré intentando por si acaso. Como dice el dicho: No puedo decir que no puedo si no lo dejo de intentar.

Código Python:
Ver original
  1. n = float(raw_input('Introduce un valor n: '))
  2. m = float(raw_input('Introduce un valor m: '))
  3.  
  4. sumatorio = 1
  5. i = 0
  6. while i < n:
  7.     i += 1
  8.     sumatorio *= i
  9. print sumatorio
  10.  
  11. sumatorio2 = 1
  12. e = 0
  13. while e < m:
  14.     e += 1
  15.     sumatorio2 *= e
  16. #print sumatorio2
  17.  
  18. sumatorio3 = 1
  19. u = 0
  20. while u <= (sumatorio - sumatorio2):
  21.     u += 1
  22.     sumatorio3 *= u
  23. #print sumatorio3
  24.  
  25. print (n / (n - m) * m)

Gracias.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Última edición por REHome; 14/10/2010 a las 12:57
  #4 (permalink)  
Antiguo 14/10/2010, 13:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Ok si para obtener n! haces un while x < n, para obtener m! haces while y < m entonces para obtener el factorial de (n - m), por que lo haces hasta sumatorio1 - sumatorio 2, no seria hasta n - m?
  #5 (permalink)  
Antiguo 14/10/2010, 16:36
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Calculos de ecuaciones con while.

Lo tenía hecho desde el principio y no me da el resultado 3003.

Código Python:
Ver original
  1. sumatorio = 1
  2. i = 0
  3. while i < n:
  4.     i += 1
  5.     sumatorio *= i
  6. #print sumatorio
  7.  
  8. sumatorio2 = 1
  9. e = 0
  10. while e < m:
  11.     e += 1
  12.     sumatorio2 *= e
  13. #print sumatorio2
  14.  
  15. sumatorio3 = 1
  16. u = 0
  17. while u <= (n - m):
  18.     u += 1
  19.     sumatorio3 *= u
  20. #print sumatorio3
  21.  
  22. print (n / (n - m) * m)

Cita:
Introduce un valor n: 15
Introduce un valor m: 10
30.0
Fijándome bien en la parte (n - m)!. Debo restar primero (15 - 10)! cuyo resultado es 5. A partir de ahí su función es esta.

(n - m)! = 5 = 5 x 4 x 3 x 2 x 1 = 120.

Hasta aquí todo bien cuando da supuestamente 120 como si si fuera 120!. Aunque lo sustituya en la ecuación completa no me funciona.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Última edición por REHome; 14/10/2010 a las 17:45
  #6 (permalink)  
Antiguo 14/10/2010, 18:44
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Por que estas haciendo las operaciones con n y m.

Debería ser con sumatorio1, sumatorio2 y sumatorio3.
Ok vamos a ver que estas haciendo:
Código Python:
Ver original
  1. n = int(raw_input("N: "))
  2. m = int(raw_input("M: "))
  3. sumatorio = 1
  4. #.... mar de codigo por aqui
  5. print (n / (n - m) * m) #Por que haces esto??
  6. #Que no n! = sumatorio1
  7. #Y m! = sumatorio2
  8. #(n - m)! = sumatorio3
  #7 (permalink)  
Antiguo 14/10/2010, 19:19
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Calculos de ecuaciones con while.

Pensé que es así:

Código Python:
Ver original
  1. nm =  (sumatorio / (sumatorio3 * sumatorio2))
  2.  
  3. print nm

Sigo intentando.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #8 (permalink)  
Antiguo 14/10/2010, 21:55
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Pista: Checa el valor de sumatorio3. El factorial de 5 es 120 no 720
Pista2: Checa la condición de tu while donde sacas sumatorio3
Pista3: 6! = 720 mientras que 5! = 120
  #9 (permalink)  
Antiguo 15/10/2010, 10:07
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Calculos de ecuaciones con while.

Así como para meterme sin que me llamen en otra de las "clases" de razpeitia Hombre, ¡qué paciencia! No me dejas nada para contestar en este foro jaja

Código:
n!     = n*n-1*n-2*...*n-m+1*n-m*n-m-1*...*1
(n-m)! = n-m*n-m-1*...*1
¿verdad que si? entonces n!/(n-m)! puede calcularse como:
Código Python:
Ver original
  1. factorial = 1
  2. resta = n-m
  3. while n > resta:
  4.     factorial *= n
  5.     n -= 1

El resultado de esto lo dividís entre lo que te de el factorial de m.

Saludos.
  #10 (permalink)  
Antiguo 15/10/2010, 10:31
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Cita:
Iniciado por AlvaroG
No me dejas nada para contestar en este foro
Siempre esta las preguntas incomodas de Django que no puedo contestar.
Eso y tengo un programita que me avisa cuando postearon en el foro. (Pero tienes sus fallas).
  #11 (permalink)  
Antiguo 15/10/2010, 10:39
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Calculos de ecuaciones con while.

PD: ¿Ese programita lo hiciste o es de otro?
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #12 (permalink)  
Antiguo 15/10/2010, 10:54
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Calculos de ecuaciones con while.

Es de otro

Etiquetas: ecuaciones, calculo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.