中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [数值计算]1-99内整数开根 上一主题 | 下一主题
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『楼 主』:  [数值计算]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 ]

   此帖被 +16 点积分      点击查看详情   
评分人:【 moniuming 分数: +8  时间:2008-9-20 19:24
评分人:【 lxmxn 分数: +8  时间:2008-9-21 09:01




综合型编程论坛

我的作品索引
  
2008-9-20 17:25
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

不错,已经收藏到置顶的 [推荐]批处理室经典帖子分类索引 中了。

2008-9-21 09:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 3 楼』:  

占个位置...
这次的效率快很多了




C:\
C:\Del BC
2008-9-21 09:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 4 楼』:  

原理:一位位数进行对比
比如输入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
以此类推
大家疑问了  批处理没小数啊
那就用整数计算 算出来后加个点给它



综合型编程论坛

我的作品索引
  
2008-9-21 09:18
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 5 楼』:  

感谢各位的支持!我爱cn-dos!



综合型编程论坛

我的作品索引
  
2008-9-21 09:25
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: