Advertisement
rcdex

Fatorial de um Número Positivo

Mar 28th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.52 KB | None | 0 0
  1. @echo off
  2. ::Programa: Fatorial de um Numero Positivo
  3. ::Data:28/03/2020
  4. ::by Ricardo530
  5.  
  6. :ini
  7. Title Fatorial de um Numero
  8. setlocal enabledelayedexpansion
  9.  
  10. set /p "num=Fatorial de: "
  11. set /a n=%num%
  12. set /a ant=%n%-1
  13.  
  14. for /l %%i in (%ant%,-1,1) do (  
  15. set /a n = !n! * %%i  
  16. cls
  17.  
  18. set /p .=<nul Fatorial de %n%
  19.            
  20. )
  21. echo.
  22.  
  23. set /p.=<nul %num%^^! =
  24.  
  25. for /l %%j in (%num%,-1,1) do (
  26. set /p .=<nul  *%%j
  27. )                                  
  28.  
  29. if %num% equ 0 (set /a n=1&echo  !n!
  30.  
  31. ) else (
  32.  
  33. Call :Fatorial_milhar
  34. )
  35.  
  36. :Fatorial_milhar
  37. Call :tam !n!
  38. if %num% equ 1 (set /a n=1&echo = !n!)
  39. if %num% equ 2 (echo = !n!)
  40. if %num% equ 3 (echo = !n!)
  41. if %num% equ 4 (echo = !n!)
  42. if %num% equ 5 (echo = !n!)
  43. if %num% equ 6 (echo = !n!)
  44.  
  45. if %qtd% equ 4 (echo = !n:~0,1!.!n:~-3!)
  46. if %qtd% equ 5 (echo = !n:~0,2!.!n:~-3!)
  47. if %qtd% equ 6 (echo = !n:~0,3!.!n:~-3!)
  48.  
  49. if %qtd% equ 7 (echo = !n:~0,1!.!n:~1,3!.!n:~-3!)
  50. if %qtd% equ 8 (echo = !n:~0,2!.!n:~2,3!.!n:~-3!)
  51. if %qtd% equ 9 (echo = !n:~0,3!.!n:~3,3!.!n:~-3!)
  52.  
  53. if %qtd% equ 10 (echo = !n:~0,1!.!n:~1,3!.!n:~4,3!.!n:~-3!)
  54. if %qtd% equ 11 (echo = !n:~0,2!.!n:~2,3!.!n:~5,3!.!n:~-3!)
  55. if %qtd% equ 12 (echo = !n:~0,3!.!n:~3,3!.!n:~6,3!.!n:~-3!)      
  56.  
  57. echo.
  58. set /p Sair="Deseja Sair [S,N]: "
  59. echo.
  60. if /i [%Sair%] equ [N] (cls&set /a cont=0&Goto ini)
  61. if /i [%Sair%] equ [S] (exit/b 0&goto:eof)
  62. pause>nul
  63. goto:eof
  64.  
  65.  
  66. :tam
  67. set var=%*
  68. if not defined cont (set /a cont=0)
  69. if not "!var:~%cont%,1!"=="" (set /a cont+=1&goto tam)
  70. set qtd=%cont%
  71. goto:eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement