batman 当前离线
考官
荣誉版主
qzwqzw (活着就是幸福)当前离线
贵宾
TOP
CrLf 当前离线
论坛巡查
看了半天,后面全部离题了。。。 所谓的“正算反算”应该是 nx=n*n 之后,再求 n nx/n 的循环次数。 一个数乘了以后如果溢出,那么反过来这个溢出数除了之后肯定不等于原来的数了。 caruko 发表于 2011-5-17 17:52
caruko 当前离线
中校
@echo off set /p in=请输入整数: set /a inx=in,flag=1&for /l %%i in (1,1,30) do ( 2>nul set /a 1/flag,cs=%%i,ix=inx*in,"1/!(ix / inx - in)",inx=ix ||set flag=0) echo %in%的%cs%次方接近于CMD最大值,值为%inx%。 pause>nul复制代码
@echo off set /p in=请输入正整数: set /a inx=in for /l %%i in (1,1,100) do ( 2>nul set /a ix=inx*in,"1/!(ix / inx - in)",inx=ix ||call :end %%i ) :end echo %in%的%1次方接近于CMD最大值,值为%inx%。 pause>nul&exit复制代码
评分人数
yjstone 当前离线
二级士官
忽然想到这正是判断n是否为2的倍数的最快办法:set /a "test=1/(1073741824*n)"||echo %n%为2的倍数 zm900612 发表于 2011-3-14 16:41
@echo off set n=2 :loop set /a "test=1/(1073741824*n)" 2>nul||echo %n% set /a n+=2 if %n% lss 100 goto:loop pause复制代码
请教 第八行和第九行合并(用逗号)表达式后,结果会异常,但是程序运行都正常的……
超级大数?在cmd.exe是输不进去的,你赋值的时候提示无效……
关于负数很好弄吧,只看正值就行了, fo ...
applba 当前离线
思路也很简单,正反一起用,往中间碰撞…… applba 发表于 2011-4-27 10:02