[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
输入的时候是用 2/3 这样的形式输入吗?
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

  1. :gcd
  2. set /a n=%1, m=%2
  3. :loop
  4. if %n% gtr %m% (set /a temp=n, n=m, m=temp)
  5. set /a r=m%%n
  6. if %r%==0 (set /a gcd=n, lcm=%1*%2/n) else (set /a m=n, n=r&goto :loop)
复制代码
这个求最大公约数.

可能两个分数就比较易算,如果是多个的时候该怎样来?

[ 本帖最后由 BBCC 于 2009-2-2 09:16 编辑 ]
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

是的.


如何改成函数形式啊.
加一个return?
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

其实最重要是找出算法,写代码很小的问题.
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

但如果有三个或以上呢?
这个问题就是我一直在想的,是重复调用还是怎样呢?
如果重复调用就又要考虑如何设置变量的问题咯?

------------------------------------------------------------------
现在我的思路就是

输入m,n--------分解分母x1,x2--------gcd(x1,x2)-----------通分m,n------------相加answer=m+n-------------输出answer

这是个最普通的思路,但是有没有其他更快捷的算法呢?
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

我要上学啊,囧,今年初三了...
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

给个小建议:运算符可以放在前面
    + 1/2 1/3

还有乘除法呢?可以将不同级运算算放在不同的模块里,然后分开调用,应该维护修改都比较方便的.
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

返回列表