标题: 数列输出难题
[打印本页]
作者: bat-zw
时间: 2008-4-29 01:17
标题: 数列输出难题
我还没有想到答案,题目本身还是很简单:
通过批处理输出1123581321345589144(数列)。
作者: bat-zw
时间: 2008-4-29 01:31
我已想到解决方案,大家都来练练手啊。
作者: bat-zw
时间: 2008-4-29 02:36
睡觉了,公布答案如下:
@echo off
set n=1&set m=1
:begin
set /a v+=1,n=m+n
set str=%str%%n%
set /a v+=1,m=n+m
set str=%str%%m%
if %v% equ 10 echo 11%str%&pause>nul&goto :eof
goto begin
作者: dikex
时间: 2008-4-29 02:53
@echo off
set "st=1" & set "ed=1" & set/p"=1"<nul
:LOOP
set/p"=%ed%"<nul
if %ed% geq 144 pause>nul & goto :EOF
set "st=%ed%" & set /a "ed=%st%+%ed%"
goto :LOOP
作者: lxmxn
时间: 2008-4-29 12:07
@echo off
set /a a=0,b=1,c=0
:loop
set /a c=a+b,a=b,b=c
if %c% geq 1000 goto:EOF
set /p=%c% <nul
goto :loop
作者: terrytong
时间: 2008-4-29 13:10
楼主的答案有问题。显示输入行太长,不知道什么意思?
dikex 和 lxmxn 都不错:
dikex 的答案如果有空格就好了,更容易看懂。
lxmxn 的答案少了一个1,我加上了,
@echo off
set /a a=0,b=1,c=0 &set /p"=1 " <nul
:loop
set /a c=a+b,a=b,b=c
if %c% geq 1000 goto:EOF
set /p=%c% <nul
goto :loop
作者: bat-zw
时间: 2008-4-29 15:30
Quote: |
Originally posted by terrytong at 2008-4-29 13:10:
楼主的答案有问题。显示输入行太长,不知道什么意思?
dikex 和 lxmxn 都不错:
dikex 的答案如果有空格就好了,更容易看懂。
lxmxn 的答案少了一个1 ... |
|
我这里很正常啊,不知你怎么...
作者: terrytong
时间: 2008-4-29 18:55
zw19750516, 不好意思,我刚才弄错了,
,
作者: zh159
时间: 2008-4-29 19:04
原来如此,
LZ的题目没出明白,刚开始就看着一堆数“1 1 2 3 5 8 1 3 2 1 3 4 5 5 8 9 1 4 4”
作者: plp626
时间: 2008-4-29 19:09
仿版主的,迭代12次:
@echo off&set a=1
for /l %%a in (1 1 12)do set/a c=a+b,a=b,b=c&call set/p=%%c%% <nul
pause>nul
不加空格:
@echo off&set a=1
for /l %%a in (1 1 12)do set/a c=a+b,a=b,b=c&call set/p=%%c%%<nul
pause>nul
[
Last edited by plp626 on 2008-4-29 at 07:12 PM ]
作者: cmdbat
时间: 2008-4-29 19:55
此题能否再扩展一下,
先随机取得0或1
当随机数为0时,就按楼主的方式显示递增数字,若随机数为1则显示刚才显示的数的倒数弟二位,当下次循环随机数为0时再接着按楼主的显示。
如:当显示到21的时候,随机数为1则显示8,当随机数再为1时则显示3,当随机数为0时则显示5,再为0则显示8。。。。。。。
如此循环20次。。
作者: terse
时间: 2008-4-29 21:05
哈哈原来如此,
LZ的题目没看明白,刚开始就看着一堆数“1 1 2 3 5 8 1 3 2 1 3 4 5 5 8 9 1 4 4”
作者: plp626
时间: 2008-4-29 21:08
为什么要重复zh159的话?
双胞胎?