Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kraszic en 29 Julio 2008, 22:05 pm



Título: [batch] Descomposicion factorial
Publicado por: kraszic en 29 Julio 2008, 22:05 pm
Buenas, este es un programa q habia pensado hacer varias veces y hoy me he puesto en ello.
Todo es mejorable pero parece q el programa funciona bastante bien.
Dejo el codigo al q le interese.

El programa hace una descomposicion factorial en numeros primos del numero q se introduzca.


Código
  1. @echo off
  2. title Descomposicion factorial -- by kraszic
  3. :descom
  4. cls
  5. echo DESCOMPOSICION FACTORIAL EN NUMEROS PRIMOS
  6. set /p num=Introduce el numero:
  7. set div=2
  8. set temp=1
  9. set f1a=0
  10. set aim=1
  11.  
  12. :proce
  13. set /a fa1=%num%/%div%
  14. set /a fa2=%num%-(%div%*%fa1%)
  15. if %fa2%==0 goto escribir
  16.  
  17. :inic
  18. set num2=1
  19. set /a aim=%aim%+2
  20. if %aim% GTR 10000 goto error
  21. :inic2
  22. set /a num2=%num2%+1
  23. set /a divi=%aim%/%num2%
  24. set /a res=%aim%-(%num2%*%divi%)
  25. if %res%==0 goto inic
  26. if %num2% GTR %divi% (set div=%aim% & goto proce)
  27. goto inic2
  28.  
  29. :escribir
  30. if %temp%==1 goto arreglo
  31. echo %f1a%  ^|^|  %div%
  32. set fact=%fact%-%div%
  33. if %f1a%==%div% goto acbpr
  34. set f1a=%fa1%
  35. set num=%fa1%
  36. goto proce
  37.  
  38. :arreglo
  39. set temp=0
  40. echo %num%  ^|^|  %div%
  41. if %num%==%div% goto casoprimo
  42. set f1a=%fa1%
  43. set num=%fa1%
  44. set fact=%div%
  45. goto proce
  46.  
  47. :acbpr
  48. echo 1  ^|^|
  49. echo Factores:
  50. echo %fact%
  51. echo Pulse cualquier tecla para volver al menu.
  52. pause>nul
  53. goto descom
  54.  
  55. :casoprimo
  56. echo 1  ^|^|
  57. echo El %num% es un numero primo.
  58. echo Pulse cualquier tecla para volver al menu.
  59. pause>nul
  60. goto descom


saludos


Título: Re: [batch] Descomposicion factorial
Publicado por: carlitos.dll en 29 Julio 2008, 22:13 pm
Muy bueno, lo utilizaré.