标题: 计算1到100中所有奇数的和?
[打印本页]
作者: huzixuan
时间: 2006-12-22 07:41
标题: 计算1到100中所有奇数的和?
如题,方法不限. 我该怎么写呢?
作者: a9319751
时间: 2006-12-22 07:48
@ECHO OFF
setlocal EnableDelayedExpansion
for /l %%i in (1,2,99) do set /a num=!num!+%%i
echo !num!
pause
作者: qzwqzw
时间: 2006-12-22 07:54
命令行输入
for /l %i in (1,2,99) do set /a num+=%i
作者: jmz573515
时间: 2006-12-22 07:59
for i=1 to 99 step 2
b=b+i
next
msgbox b
'保存为VBS。
作者: huzixuan
时间: 2006-12-22 08:20
谢了 FOR又学会了点
不过 如何写 批处理文件 运算呢?
for /l %%i in (1 2 99) do set /a num+=%%i
不行啊??
[
Last edited by huzixuan on 2006-12-22 at 08:28 AM ]
作者: zh159
时间: 2006-12-22 09:10
for /l %%i in (1
,2
,99) do set /a num+=%%i
你少了“,”号
作者: redtek
时间: 2006-12-22 09:32
我也来一个另类计算的方法:)
@echo off
:: 计算 从 1 -- 9999 之间的奇数之和
echo 开始时间:%time%
set a=25 && set b=25
for /L %%i in (1,1,999) do ( set /a b+=50 && set /a a+=b )
echo %a%
echo 结束时间:%time%
计算速度测试如下:
C:\TEMP\debug>r
开始时间:20:30:09.06
25000000
结束时间:20:30:09.10
计算原理,真TMD费劲
规律 (列求和的值)
=========================================
1 3 5 7 9 = 25 |
11 13 15 17 19 = 75 | 25+75=100
21 23 25 27 29 = 125 |
31 33 35 37 39 = 175 | 125+175=300
... ... |
|
91 93 95 97 99 = 475
=========================================
根据奇数出现的行与列的规律,总结如下:
1) 每行列相加的值会依次递增 50
2) 每行的与每行间的同一列相差 10
根据以上推出公式如下:
第1次部分公式推出: [ 起始列的和 = (起始列的和 + 50) ] = 加第二行的和
第2次所推出的公式: 25 + 50 * 总行数(总行数的偏移量从0开始)
例:求第4行(1--40)之间的奇数,则:
25 + 50 * (4-1) = 175
第3次所推出的公式: 如何知道一个数有多少行?
根据最上面的奇数过程的表,推出第行之间相差 10
所以,一个最大要求奇数和的这个数的小数点向左移一位,例:
如: 求 1 -- 1000 之间的奇数和 ,那么就有 100 行(小数点左移1位)
按上面刚刚推出来的公式我们测试一下:
公式: 25 + 50 * 总行数(总行数的偏移量从0开始)
代入: set /a !b+=50!+=b
…………晕了
[
Last edited by redtek on 2006-12-21 at 08:37 PM ]
作者: scriptor
时间: 2006-12-22 09:47
标题: Sum_Of_Prime
Rewrite it to your .txt file and Rename it as Sum.bat.
Then run it, you will get the answer!
@echo off
for /l %%a in (1,2,100) do (
(set /a sum_of_prime+=%%a )
)
echo sum_of_prime= %sum_of_prime% !
@pause
In CMD-Line , you can just type
(for /l %a in (1,2,100) do (@ set /a Sum_of_Prime+=%a ) &cls)
& echo %Sum_Of_Prime%
It will return the last result and
So, There is not anything else what you don't want to see.
Have a Try!
作者: scriptor
时间: 2006-12-22 09:48
标题: Zan
You are truely Bang!
作者: ccwan
时间: 2006-12-22 21:08
Quote: |
Originally posted by zh159 at 2006-12-22 09:10:
for /l %%i in (1,2,99) do set /a num+=%%i
你少了“,”号 |
|
可以不加逗号的.
作者: 9527
时间: 2006-12-22 22:13
其实for /l %i in (1,1,99) do @echo %i 括号中间的分隔号有多种
形式如下:
for /l %i in (1,1,99) do @echo %i
for /l %i in (1 1 99) do @echo %i
for /l %i in (1;1;99) do @echo %i
for /l %i in (1=1=99) do @echo %i
for /l %i in (1<tab>1<tab>99) do @echo %i <tab>----tab键
作者: namejm
时间: 2006-12-22 22:21
9527 兄依然在孜孜不倦地研究各种技巧,往往能收到出其不意或简洁高效的效果,赞赏。
作者: 26933062
时间: 2006-12-26 13:07
@echo off
for /l %%i in (1 2 99) do set /a num+=%%i
echo %num%
pause加上红色部分就可以了
作者: huzixuan
时间: 2007-1-26 21:27
厉害。