home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / jambtm02.exe / FACTORIA.BTM < prev    next >
Text File  |  1992-11-15  |  951b  |  29 lines

  1. *REM This batch file is Freeware, free to use and redistribute unmodified *
  2. *REM Jouni Miettunen * jon@stekt.oulu.fi * Oulu * Finland * Europe * 1992 *
  3.  
  4. REM Calculating factorial: N! = N * (N-1)! for N gt 1 and 0! == 1
  5. REM Timestamp 15-Nov-1992
  6.  
  7. break on^setlocal^unalias *
  8. iff %#==0 then^echo Usage: %@lower[%@name[%0]] number(s)^goto end^endiff
  9.  
  10. for %b in (%&) gosub kertoma^goto end
  11.  
  12. :kertoma
  13. set a=%b^screen %_row 0 Factorial(%a):
  14. iff %a==0 then^screen %_row 35 1n^return^endiff
  15. iff %a lt 0 .or. %a gt 18 then^screen %_row 0 Factorial(%a):tCan't calculate factorial for %an^return^endiff
  16. set total=1
  17.  
  18. :work
  19. set total=%@eval[%total*%a]^set a=%@eval[%a-1]^if %a gt 1 goto work
  20.  
  21. screen %_row %@eval[36-%@len[%total]-%@int[%@eval[%@len[%total]/3]]]]
  22. set plaza=%@eval[%@len[%total]%%3]^echos %@substr[%total,,%plaza]
  23.  
  24. for %q in (0 3 6 9 12) echos ` `%@substr[%total,%@eval[%plaza+%q],3]^echo.
  25. return
  26.  
  27. :end
  28. break off^quit
  29.