为什么能猜出想的数字呢?复制代码
- @echo off
- ::因为看了http://bbs.bathome.net/viewthread.php?tid=2140&highlight=%B6%C1%D0%C4%CA%F5
- ::一时激动写了这程序~
- ::跟别的不一样哦~
- ::原理想想看吧!
- :main
- color 0C
- setlocal enabledelayedexpansion
- mode con: cols=100 lines=50
- echo ┌───────────────┐
- echo │ 读心术批处理版 │
- echo │ GaryNg呕心沥血制作 │
- echo └───────────────┘
- echo 请想一个小于128的数(不包括128)
- set 退格键=
- for /l %%a in (3 -1 1) do (set /p =!退格键!%%a秒的时间... <nul&ping -n 2 127.1 >nul)
- cls&set num=
- ::1+2
- :loop
- for /l %%a in (1 2 127) do (
- set /p=%%a <nul
- )
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop
- if /i "!y!"=="y" (set /a num=1) else (set /a num=0)
- ::2+3
- cls
- set a=2
- set b=3
- :loop1
- for /l %%b in (!a! 1 !b!) do (
- set /p=%%b <nul
- set /a a=a+2
- set /a b=b+2
- )
- if !b! lss 128 goto loop1
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop1
- if /i "!y!"=="y" (set /a num=num+2) else (set /a num=num+0)
- cls
- ::4+5
- set c=4
- set d=7
- :loop2
- for /l %%c in (!c! 1 !d!) do (
- set /p=%%c <nul
- set /a c=c+2
- set /a d=d+2
- )
- if !d! lss 128 goto loop2
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop2
- if /i "!y!"=="y" (set /a num=num+4) else (set /a num=num+0)
- cls
- ::8+9
- set e=8
- set f=15
- :loop3
- for /l %%d in (!e! 1 !f!) do (
- set /p=%%d <nul
- set /a e=e+2
- set /a f=f+2
- )
- if !f! lss 128 goto loop3
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop3
- if /i "!y!"=="y" (set /a num=num+8) else (set /a num=num+0)
- cls
- ::16+17
- set g=16
- set h=31
- :loop4
- for /l %%e in (!g! 1 !h!) do (
- set /p=%%e <nul
- set /a g=g+2
- set /a h=h+2
- )
- if !g! lss 128 goto loop4
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop4
- if /i "!y!"=="y" (set /a num=num+16) else (set /a num=num+0)
- cls
- ::32+33
- set i=32
- set j=63
- :loop5
- for /l %%f in (!i! 1 !j!) do (
- set /p=%%f <nul
- set /a i=i+2
- set /a j=j+2
- )
- if !j! lss 128 goto loop5
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop5
- if /i "!y!"=="y" (set /a num=num+32) else (set /a num=num+0)
- cls
- ::64+65
- set k=64
- set l=127
- :loop6
- for /l %%g in (!k! 1 !l!) do (
- set /p=%%g <nul
- set /a k=k+2
- set /a l=l+2
- )
- if !l! lss 128 goto loop6
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop6
- if /i "!y!"=="y" (set /a num=num+64) else (set /a num=num+0)
- cls
- :last
- echo 电脑透过复杂的计算后
- echo 得出你脑里想的那个数
- echo 那个数是:
- echo ┌──────────┐
- echo !num!
- echo └──────────┘
- echo 按任意键继续...
- pause>nul
- cls
- echo 厉害吧?原理自己想想吧!
- echo 提示:二进制
- echo 按任意键重来...
- pause>nul
- goto main
为什么能猜出想的数字呢?复制代码
- [size=4]看了[url=http://bbs.bathome.net/viewthread.php?tid=2140&highlight=%B6%C1%D0%C4%CA%F5]读心术P处理版[/url]
- 发现到:批处理也可以这样!
- 所以在我有限的批处理和数学的知识下,
- 写了这程序
- 不一样的哦!
- [color=Red][size=5]注意:请把{tab}换成真实的TAB键[/size][/color][/size]
- ------------------------------------------------------------------------------------------------[code]@echo off
- ::因为看了http://bbs.bathome.net/viewthread.php?tid=2140&highlight=%B6%C1%D0%C4%CA%F5
- ::一时激动写了这程序~
- ::跟别的不一样哦~
- ::原理想想看吧!
- :main
- color 0C
- setlocal enabledelayedexpansion
- mode con: cols=100 lines=50
- echo ┌───────────────┐
- echo │ 读心术批处理版 │
- echo │ GaryNg呕心沥血制作 │
- echo └───────────────┘
- echo 请想一个小于128的数(不包括128)
- set 退格键=
- for /l %%a in (3 -1 1) do (set /p =!退格键!%%a秒的时间... <nul&ping -n 2 127.1 >nul)
- cls&set num=
- ::1+2
- :loop
- for /l %%a in (1 2 127) do (
- set /p=%%a <nul
- )
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop
- if /i "!y!"=="y" (set /a num=1) else (set /a num=0)
- ::2+3
- cls
- set a=2
- set b=3
- :loop1
- for /l %%b in (!a! 1 !b!) do (
- set /p=%%b <nul
- set /a a=a+2
- set /a b=b+2
- )
- if !b! lss 128 goto loop1
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop1
- if /i "!y!"=="y" (set /a num=num+2) else (set /a num=num+0)
- cls
- ::4+5
- set c=4
- set d=7
- :loop2
- for /l %%c in (!c! 1 !d!) do (
- set /p=%%c <nul
- set /a c=c+2
- set /a d=d+2
- )
- if !d! lss 128 goto loop2
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop2
- if /i "!y!"=="y" (set /a num=num+4) else (set /a num=num+0)
- cls
- ::8+9
- set e=8
- set f=15
- :loop3
- for /l %%d in (!e! 1 !f!) do (
- set /p=%%d <nul
- set /a e=e+2
- set /a f=f+2
- )
- if !f! lss 128 goto loop3
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop3
- if /i "!y!"=="y" (set /a num=num+8) else (set /a num=num+0)
- cls
- ::16+17
- set g=16
- set h=31
- :loop4
- for /l %%e in (!g! 1 !h!) do (
- set /p=%%e <nul
- set /a g=g+2
- set /a h=h+2
- )
- if !g! lss 128 goto loop4
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop4
- if /i "!y!"=="y" (set /a num=num+16) else (set /a num=num+0)
- cls
- ::32+33
- set i=32
- set j=63
- :loop5
- for /l %%f in (!i! 1 !j!) do (
- set /p=%%f <nul
- set /a i=i+2
- set /a j=j+2
- )
- if !j! lss 128 goto loop5
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop5
- if /i "!y!"=="y" (set /a num=num+32) else (set /a num=num+0)
- cls
- ::64+65
- set k=64
- set l=127
- :loop6
- for /l %%g in (!k! 1 !l!) do (
- set /p=%%g <nul
- set /a k=k+2
- set /a l=l+2
- )
- if !l! lss 128 goto loop6
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop6
- if /i "!y!"=="y" (set /a num=num+64) else (set /a num=num+0)
- cls
- :last
- echo 电脑透过复杂的计算后
- echo 得出你脑里想的那个数
- echo 那个数是:
- echo ┌──────────┐
- echo !num!
- echo └──────────┘
- echo 按任意键继续...
- pause>nul
- cls
- echo 厉害吧?原理自己想想吧!
- echo 提示:二进制
- echo 按任意键重来...
- pause>nul
- goto main
复制代码
- @echo off
- ::因为看了http://bbs.bathome.net/viewthread.php?tid=2140&highlight=%B6%C1%D0%C4%CA%F5
- ::一时激动写了这程序~
- ::跟别的不一样哦~
- ::原理想想看吧!
- :main
- color 0C
- setlocal enabledelayedexpansion
- mode con: cols=100 lines=50
- echo ┌───────────────┐
- echo │ 读心术批处理版 │
- echo │ GaryNg呕心沥血制作 │
- echo └───────────────┘
- echo 请想一个小于128的数(不包括128)
- set 退格键=
- for /l %%a in (3 -1 1) do (set /p =!退格键!%%a秒的时间... <nul&ping -n 2 127.1 >nul)
- cls&set num=
- ::1+2
- :loop
- for /l %%a in (1 2 127) do (
- set /p=%%a <nul
- )
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop
- if /i "!y!"=="y" (set /a num=1) else (set /a num=0)
- ::2+3
- cls
- set a=2
- set b=3
- :loop1
- for /l %%b in (!a! 1 !b!) do (
- set /p=%%b <nul
- set /a a=a+2
- set /a b=b+2
- )
- if !b! lss 128 goto loop1
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop1
- if /i "!y!"=="y" (set /a num=num+2) else (set /a num=num+0)
- cls
- ::4+5
- set c=4
- set d=7
- :loop2
- for /l %%c in (!c! 1 !d!) do (
- set /p=%%c <nul
- set /a c=c+2
- set /a d=d+2
- )
- if !d! lss 128 goto loop2
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop2
- if /i "!y!"=="y" (set /a num=num+4) else (set /a num=num+0)
- cls
- ::8+9
- set e=8
- set f=15
- :loop3
- for /l %%d in (!e! 1 !f!) do (
- set /p=%%d <nul
- set /a e=e+2
- set /a f=f+2
- )
- if !f! lss 128 goto loop3
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop3
- if /i "!y!"=="y" (set /a num=num+8) else (set /a num=num+0)
- cls
- ::16+17
- set g=16
- set h=31
- :loop4
- for /l %%e in (!g! 1 !h!) do (
- set /p=%%e <nul
- set /a g=g+2
- set /a h=h+2
- )
- if !g! lss 128 goto loop4
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop4
- if /i "!y!"=="y" (set /a num=num+16) else (set /a num=num+0)
- cls
- ::32+33
- set i=32
- set j=63
- :loop5
- for /l %%f in (!i! 1 !j!) do (
- set /p=%%f <nul
- set /a i=i+2
- set /a j=j+2
- )
- if !j! lss 128 goto loop5
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop5
- if /i "!y!"=="y" (set /a num=num+32) else (set /a num=num+0)
- cls
- ::64+65
- set k=64
- set l=127
- :loop6
- for /l %%g in (!k! 1 !l!) do (
- set /p=%%g <nul
- set /a k=k+2
- set /a l=l+2
- )
- if !l! lss 128 goto loop6
- echo/
- echo/
- echo 请问这里有你想的数吗?
- set /p y=【有=y,没有=n】
- for /f "delims=yn" %%i in ('echo !y!') do cls&goto loop6
- if /i "!y!"=="y" (set /a num=num+64) else (set /a num=num+0)
- cls
- :last
- echo 电脑透过复杂的计算后
- echo 得出你脑里想的那个数
- echo 那个数是:
- echo ┌──────────┐
- echo !num!
- echo └──────────┘
- echo 按任意键继续...
- pause>nul
- cls
- echo 厉害吧?原理自己想想吧!
- echo 提示:二进制
- echo 按任意键重来...
- pause>nul
- goto main
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |