[batch] Descomposicion factorial

Iniciado por kraszic, 29 Julio 2008, 22:05 PM

0 Miembros y 1 Visitante están viendo este tema.

kraszic

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 (dos) [Seleccionar]

@echo off
title Descomposicion factorial -- by kraszic
:descom
cls
echo DESCOMPOSICION FACTORIAL EN NUMEROS PRIMOS
echo.
echo.
set /p num=Introduce el numero:
echo.
set div=2
set temp=1
set f1a=0
set aim=1

:proce
set /a fa1=%num%/%div%
set /a fa2=%num%-(%div%*%fa1%)
if %fa2%==0 goto escribir

:inic
set num2=1
set /a aim=%aim%+2
if %aim% GTR 10000 goto error
:inic2
set /a num2=%num2%+1
set /a divi=%aim%/%num2%
set /a res=%aim%-(%num2%*%divi%)
if %res%==0 goto inic
if %num2% GTR %divi% (set div=%aim% & goto proce)
goto inic2

:escribir
if %temp%==1 goto arreglo
echo %f1a%  ^|^|  %div%
set fact=%fact%-%div%
if %f1a%==%div% goto acbpr
set f1a=%fa1%
set num=%fa1%
goto proce

:arreglo
set temp=0
echo %num%  ^|^|  %div%
if %num%==%div% goto casoprimo
set f1a=%fa1%
set num=%fa1%
set fact=%div%
goto proce

:acbpr
echo 1  ^|^|
echo.
echo.
echo Factores:
echo.
echo %fact%
echo.
echo.
echo.
echo Pulse cualquier tecla para volver al menu.
pause>nul
goto descom

:casoprimo
echo 1  ^|^|
echo.
echo.
echo El %num% es un numero primo.
echo.
echo.
echo.
echo Pulse cualquier tecla para volver al menu.
pause>nul
goto descom



saludos

carlitos.dll