返回列表 发帖
@echo off
:a
set a=0
set /p n=请输入加到几
for /l %%i in (1,1,%n%) do set /a a+=%%i
echo %a%
pause&cls&goto a

TOP

1+2+3+4+...+100=?
5050   小学题

TOP

回复 2楼 的帖子

第二次计算,是第一次的结果加上第二次的结果,有问题

TOP

原帖由 yycup1111 于 2008-8-19 17:55 发表
@echo off
:a
set a=0
set /p n=请输入加到几
for /l %%i in (1,1,%n%) do set /a a+=%%i
echo %a%
pause&cls&goto a






正确答案

TOP

不用for,不用goto,不用递归,最最简单的方法,哈哈
还有比这更简单的思路吗??
@echo off
set /p n=请输入加到几?
set/a a=(1+n)*n/2
echo %a%
pause
2

评分人数

    • firewolf85: 当N很大时的确很节省资源PB + 4
    • youxi01: 呵呵,纯粹变成数学了!PB + 1
高手=发现问题^分析问题^解决问题

TOP

呵呵
做新手这么久了,还没回答问题啊!
现在就奉上我的答案!
@echo off&setlocal EnableDelayedExpansion
set a=0
set /p n=请输入:
for /l %%i in (1 1 %n%) do (
    set /a a+=%%i
echo !a!
)
pause>nulCOPY

[ 本帖最后由 wangwei4106 于 2008-9-1 18:56 编辑 ]
1

评分人数

    • youxi01: 似乎没必要开启延迟PB + 1
要想提高多做,多想,多问!
空间http://www.wangwei4106.ys168.com

TOP

想了半天,没有做出来,只能看一下大家的思路了

TOP

@echo off
set /a sun=0
FOR /L %%i IN (1,1,100) DO set /a sun+=%%i
echo %sun%
pause

TOP

@echo off
set/p a1=头项
set/p a2=末项
set/p a3=相邻两个数之差
set /a n=(%a2%-%a1%)/%a3%+1
set /a n1=(%a1%+%a2%)*%n%/2
echo %n1%&pause
for /l %%a in (%a1% %a3% %a2%) do (set /a z+=%%a)
echo %z%&pauseCOPY


支持间距两数之差为任意实数...

PS:算法很弱智...

[ 本帖最后由 qq641255849 于 2008-9-6 13:05 编辑 ]

TOP

@ echo off
for /l %%i in (1,1,100) do (set /a sum+=%%i)
echo1100的数字之和是:%sum%
pause>nul
set sum=0
set /p input=随意输入壹个数字:
for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
echo1一直加到你输入的数字之和是:%sum%
pause>nulCOPY

TOP

我的做法

@echo off
set /p n=


set /a sum=(1+%n%)*%n%/2
echo %sum%

TOP

@echo off
set/p n="n等于?  "
set/a s=1
set/a y=1
:d
set/a y=%y%+1
set/a s=%s%+%y%
if %y%==%n% goto p
goto d
:p
echo %s%
pause

TOP

@echo off
echo 计算1+2+3+......+n
set sum=0
set /p a=请输入n:

setlocal EnableDelayedExpansion
for /l %%i in (1,1,%a%) do (
        set val=%%i
        set /a sum=!!sum!+!val!!
)
echo 1+2+3+......+%a%=!sum!
endlocal

set sum=
set val=
set a=

pause
----------------------------------------------
看了看别人的代码,for /l %%i in (1,1,%input%) do (set /a sum+=%%i)
为什么这个时候可以不用延时变量?sum难道不是在预处理中就替换了的?
希望有高人解释解释

[ 本帖最后由 batbird 于 2008-9-12 10:57 编辑 ]

TOP

@echo off
:hk
set/p n=输入一个数:
set/a m=(1+%n%)*%n%/2
cls
echo %m%
goto hkCOPY

TOP

看看啊..   ..............看看

TOP

返回列表