| 网站首页 | 绿色软件 | 绿色数码 | 安全中心 | 屏保中心 | 源码中心 | 电子书库 | 教程库 | 图片库 | 资料库 | 算命 | 笑话 | 广告 | 绿站旧版 | 返回总部 | 
您现在的位置: 绿色软件站 >> 源码中心 >> BAT源码 >> 数值计算 >> 源码信息
热点推荐
最新更新
本类热门
· 去最大最小值后求剩余数组平均值
· 网络配置备份恢复
· 计算2的N次方
· 乘法,加法,计算器
· 九九乘法表
· 求最大公约数和最小公倍数
· 开平方
· 求一列数所有不同组合的和
· 九宫格图案
· 对数字进行排序
推荐软件
其他更新
求最大公约数和最小公倍数
运行环境: Win9x/NT/2000/XP/2003 (载入中...)
文件大小: 1 K
软件类别: BAT源码
软件语言: 简体中文
软件属性:       
授权方式: 免费版
添加时间: 2008-3-29 7:11:00
软件等级: ★★★
软件绿化: 佚名
相关链接: 源码演示地址  源码注册地址
下载次数: 日: 周: 月: 总:
软件添加: 审核:lodge 录入:lodge
::软件简介::  

警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试!

@echo off
:: 处理比较大的数字的时候速度会比较慢,比如52317和75569
:: Code by JM 2007-1-23 CMD@XP 2007-1-24 modified
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=27054
setlocal enabledelayedexpansion

:begin
cls
set flag=
set num1=
set num2=
set /p num1= 请输入第一个数:
set /p num2= 请输入第二个数:
if %num1% leq %num2% (set min=%num1%) else set min=%num2%
:: 此 if 语句可以改为 if %num1% gtr %num2% set /a num1=%num2%,num2=%num1% ,
:: 以达到减少变量数目的目的,则下一句 for 中的 %min% 就得相应地修改为 %num1%
for /l %%i in (%min%,-1,2) do (
    set GCD=%%i
    set /a mod1=%num1%%%%%i
    set /a mod2=%num2%%%%%i
    if !mod1! equ 0 if !mod2! equ 0 set flag=1&goto end
)

:end
if defined flag (
    set /a LCM=%num1%/%GCD%*%num2%
    echo %num1% 和 %num2% 的最大公约数是 %GCD%,最小公倍数是 !LCM!
) else (
    set /a LCM=%num1%*%num2%
    echo %num1% 和 %num2% 最大公约数为1,最小公倍数是 !LCM!
)
pause
goto begin


@echo off
:: 展转求余,速度非常快
:: Code by ccwan Modified by JM 2007-1-24 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=27054

set/p a=输入第一个数
set/p b=输入第二个数
:: 原帖代码:set/a ab=%a%*%b%
set /a num_a=a,num_b=b
cls&echo.&echo/&echo\
echo %a% 和 %b% 的   最大公约数        最小公倍数
if %a% lss %b% goto restart

:loop
set/a num2=%a%%%b%
if %num2% gtr 0 set/a a=%b%&set/a b=%num2%&goto loop
goto show

:restart
set/a num1=%a%
set/a a=%b%
set/a b=%num1%
goto :loop

:show
:: 原帖代码:set/a num=%ab%/%b%
set /a num=%num_a%/%b%*%num_b%
echo                     %b%                %num%
pause>nul


@echo off
:: 处理比较大的数字的时候速度会比较慢,比如52317和75569
:: Code by JM 2007-1-23 CMD@XP 2007-1-24 modified
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=27054
setlocal enabledelayedexpansion

:begin
cls
set flag=
set num1=
set num2=
set /p num1= 请输入第一个数:
set /p num2= 请输入第二个数:
if %num1% leq %num2% (set min=%num1%) else set min=%num2%
:: 此 if 语句可以改为 if %num1% gtr %num2% set /a num1=%num2%,num2=%num1% ,
:: 以达到减少变量数目的目的,则下一句 for 中的 %min% 就得相应地修改为 %num1%
for /l %%i in (%min%,-1,2) do (
    set GCD=%%i
    set /a mod1=%num1%%%%%i
    set /a mod2=%num2%%%%%i
    if !mod1! equ 0 if !mod2! equ 0 set flag=1&goto end
)

:end
if defined flag (
    set /a LCM=%num1%/%GCD%*%num2%
    echo %num1% 和 %num2% 的最大公约数是 %GCD%,最小公倍数是 !LCM!
) else (
    set /a LCM=%num1%*%num2%
    echo %num1% 和 %num2% 最大公约数为1,最小公倍数是 !LCM!
)
pause
goto begin


@echo off
:: 展转求余,速度非常快
:: Code by ccwan Modified by JM 2007-1-24 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=27054

set/p a=输入第一个数
set/p b=输入第二个数
:: 原帖代码:set/a ab=%a%*%b%
set /a num_a=a,num_b=b
cls&echo.&echo/&echo\
echo %a% 和 %b% 的   最大公约数        最小公倍数
if %a% lss %b% goto restart

:loop
set/a num2=%a%%%b%
if %num2% gtr 0 set/a a=%b%&set/a b=%num2%&goto loop
goto show

:restart
set/a num1=%a%
set/a a=%b%
set/a b=%num1%
goto :loop

:show
:: 原帖代码:set/a num=%ab%/%b%
set /a num=%num_a%/%b%*%num_b%
echo                     %b%                %num%
pause>nul

::下载地址::  
·电信服务器一  ·电信服务器二  ·网通服务器二  ·网通服务器一  
::相关软件::  
酷我音盒(自带100万首歌曲的播放器)
没有相关源码
(载入中...)
::相关教程::
::下载说明::
为了达到最快的下载速度,推荐使用网际快车下载本站软件。
如果您发现该软件不能下载,请通知管理员或点击【此处报错】,谢谢!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
      网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论