标题: [数值计算]1-99内整数开根
[打印本页]
作者: 523066680
时间: 2008-9-20 17:25
标题: [数值计算]1-99内整数开根
也在bathome发布
http://bbs.bathome.cn/viewthread.php?tid=1791&page=1&extra=page%3D1
如果有小数则保留3位小数。
@echo off
:action
set /p input="(1-99):"
if "%input%"=="" goto :action
set /a a=0,n=0
:a
set /a a+=1,a1=0
:a1
set /a a1+=1,test=(n*10+a1)*(n*10+a1)
if %test% equ %input% (echo %a1% &pause &goto :end)
if %test% lss %input% (goto :a1)
set /a n=n*10+a1-1,input*=100
if %a% lss 4 goto :a
echo %n:~0,1%.%n:~1%
pause>nul
:end
echo,&set input=
goto :action
[
Last edited by 523066680 on 2008-9-21 at 07:29 AM ]
作者: lxmxn
时间: 2008-9-21 09:08
不错,已经收藏到置顶的
[推荐]批处理室经典帖子分类索引 中了。
作者: BC
时间: 2008-9-21 09:12
占个位置...
这次的效率快很多了
作者: 523066680
时间: 2008-9-21 09:18
原理:一位位数进行对比
比如输入2
0*0=0
1*1=1
2*2=4 4>2 所以第一位数取1
然后1.1*1.1
1.2*1.2
1.3*1.3……
1.4*1.4
1.5*1.5 = 2.25 >2 所以取1.4
以此类推
大家疑问了 批处理没小数啊
那就用整数计算 算出来后加个点给它
作者: 523066680
时间: 2008-9-21 09:25
感谢各位的支持!我爱cn-dos!