elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Calcular numeros combinatorios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Calcular numeros combinatorios  (Leído 6,035 veces)
---saster---

Desconectado Desconectado

Mensajes: 55


Ver Perfil
[BATCH] Calcular numeros combinatorios
« en: 29 Diciembre 2009, 13:15 pm »

Aqui dejo un script para calcular los numeros combinatorios.
Funciona mal con numeros mayores de 13 porque salen numeros demasiado grandes. :P

El codigo:

Código
  1. @echo off
  2. rem calculo de numeros combinatorios
  3. title Calcular un numero combinatorio
  4. mode con cols=40 lines=20
  5. :menu
  6. cls
  7. echo    ( X )         X!
  8. echo    (   ) = ______________
  9. echo    ( Y )     Y! (X-Y)!
  10. set/p "x=valor de x >>>"
  11. if not defined x (goto menu)
  12. if %x% LSS 0 (goto menu)
  13. set/p "y=valor de y >>>"
  14. if not defined y (goto menu)
  15. if %y% LSS 0 (goto menu)
  16. if not %x% LSS %y% (goto calculo) else (goto menu)
  17. :calculo
  18. set/a "a=b=c=1"
  19. set/a "d=%x%-%y%"
  20. for /l %%r in (%x%,-1,1) do (set/a a=a*%%r)
  21. for /l %%s in (%y%,-1,1) do (set/a b=b*%%s)
  22. for /l %%t in (%d%,-1,1) do (set/a c=c*%%t)
  23. set res1=%a%
  24. set/a res2=%b%*%c%
  25. set/a res=%res1%/%res2%
  26. echo El resultado es: %res%
  27. set "x="
  28. set "y="
  29. pause>nul
  30. goto menu
  31.  


saludos :D


En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: [BATCH] Calcular numeros combinatorios
« Respuesta #1 en: 29 Diciembre 2009, 16:42 pm »



    Lo que has puesto es lo de factorial no ¿?

  Ej:

  (6)       6x5x4x3x2x1        6x5x4x3x2x1     5x4
         = ------------------ = ---------------- = ---------  =  20
  (3)       3! (6-3)!                3x2x1 3x2x1        1


   


En línea

---saster---

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: [BATCH] Calcular numeros combinatorios
« Respuesta #2 en: 29 Diciembre 2009, 19:04 pm »

Lo que has puesto es lo de factorial no ¿?

La formula es la que has puesto.
Es un numero combinatorio de x sobre y :P

Para calcularlo hay que calcular 3 factoriales: x, y (x-y)

Código:
for /l %%r in (%x%,-1,1) do (set/a a=a*%%r)
for /l %%s in (%y%,-1,1) do (set/a b=b*%%s)
for /l %%t in (%d%,-1,1) do (set/a c=c*%%t)

Después simplemente hacer las cuentas.

Código:
set res1=%a%
set/a res2=%b%*%c%
set/a res=%res1%/%res2%

Se utilizan los factoriales pero no es un factorial es un numero combinatorio sobre otro.

saludos
En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: [BATCH] Calcular numeros combinatorios
« Respuesta #3 en: 29 Diciembre 2009, 19:57 pm »



    La verdad, no entiendo bien el comando "for", pero bueno te entiendo lo que me quieres decir, pero Números combinatorios, no es algo general¿? , es decir, binomio de newton, y más cosas ¿?
En línea

---saster---

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: [BATCH] Calcular numeros combinatorios
« Respuesta #4 en: 29 Diciembre 2009, 21:41 pm »

no se si es muy general o no, un numero combinatorio de x sobre y se diría :P

El binomio de Newton es una cosa distinta que utiliza los numeros combinatorios. De hecho yo hice este code para conseguir sacar el binomio de Newton desde bat

Esta sería la formula:



Citar
La verdad, no entiendo bien el comando "for"

En este caso simplemente es un bucle que multiplica su numero por el anterior hasta llegar a 0 (empezando por el numero que le digas)

Lo utilizo para hallar el factorial de los numeros que insertas

saludos
En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: [BATCH] Calcular numeros combinatorios
« Respuesta #5 en: 30 Diciembre 2009, 19:45 pm »


   Yo hice el binomio de newton en .bat, solo para números, es decir, sin contar las variables, e hice en python para números y variables, creo que lo voy a subir aquí el código, pero es algo liado, pero bueno lo subo, si quieres míralo xD.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con crear un batch que genere un .txt con números que incrementen
Scripting
.:UND3R:. 4 4,453 Último mensaje 4 Julio 2011, 08:09 am
por .:UND3R:.
Calcular numeros impares, de 0 a n. « 1 2 »
Programación C/C++
Vicks 15 12,068 Último mensaje 22 Febrero 2012, 18:41 pm
por Caster
Help! Calcular máximo de 3 numeros usando función
Programación C/C++
sora_ori 5 2,684 Último mensaje 18 Febrero 2013, 23:34 pm
por BatchianoISpyxolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines