批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
      则表明此数不是素数,反之是素数。

:
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /l %%a in (101 1 200) do (
  3.   set /a n=%%a-1&set "flag="
  4.   for /l %%b in (2 1 !n!) do (
  5.     set /a m=%%a%%%%b
  6.      if !m! equ 0 set flag=a
  7.   )
  8.   if not defined flag echo 素数 %%a
  9. )
  10. echo\&pause
复制代码
技术问题请到论坛发帖求助!

TOP

水仙花数
原创作者: 梦想种子
:
  1. @echo off&setlocal enabledelayedexpansion
  2. :: 原创作者: 梦想种子
  3. for /l %%i in (0 1 9) do set /a t%%i=%%i*%%i*%%i
  4. for /l %%i in (1 1 10000) do (
  5.   set "k=00000%%i"
  6.   set a=!k:~-1!
  7.   set b=!k:~-2,1!
  8.   set c=!k:~-3,1!
  9.   set d=!k:~-4,1!
  10.   set e=!k:~-5,1!
  11.   set /a n=t!a!+t!b!+t!c!+t!d!+t!e!
  12.   if "!n!" == "%%i" echo %%i
  13. )
  14. pause
复制代码
技术问题请到论坛发帖求助!

TOP

【程序23】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*

:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "ko=                              "
  3. for /l %%i in (1 2 13) do (
  4.   if defined flag (set /a n-=2&set /a c-=1) else set /a n=%%i&set /a c+=1
  5.   call set m=%%ko:~!c!%%
  6.   set /p=!m!<nul
  7.   for /l %%b in (1 1 !n!) do set /p=*<nul
  8.   echo.
  9.   if !n! geq 7 set flag=a
  10. )
  11. echo.&pause
复制代码
技术问题请到论坛发帖求助!

TOP

打印杨辉三角
转一个,
原创作者:wudixin96
:
  1. @echo off&setlocal enabledelayedexpansion
  2. :top
  3. ::原创作者:wudixin96
  4. ::  in=行数:
  5. set/a ab=1,var=30,in=10
  6. set str=1
  7. for /l %%i in (1,1,%in%) do (
  8.    set "num="
  9.    set /a num2=0
  10.    for %%a in (!str!) do (
  11.    set /a num2+=1
  12.    if !num2!==1 set "str1="
  13.    set /a num1=%%a+num
  14.    set "str1=!str1! !num1!"
  15.    set num=%%a
  16.    )
  17.    call :lis "!str1:~1!"
  18.    set "str=!str1! 0"
  19. )
  20. pause>nul
  21. exit
  22. :lis
  23. set max=%~1
  24. for /l %%a in (0 1 300) do (
  25.   if not "!max:~%%a,1!"=="" set /a ci+=1
  26. )
  27. set /a ki=var-ci/2
  28. for /l %%a in (1 1 !ki!) do set "kg= !kg!"
  29. echo !kg!!max!
  30. set nam!ab!=!kg!!max!
  31. set /a ab+=1
  32. set ci=0&set "kg="
  33. goto :eof
复制代码
技术问题请到论坛发帖求助!

TOP

回复 24楼 的帖子

这么多题,在答题时,把题目一起贴出来好吗?
技术问题请到论坛发帖求助!

TOP

【程序30】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
指定5位数,是不是太容易了,来个可以是任意位数的。
:
  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p nnn=请输入一个数 &cls
  3. set mmm=%nnn%
  4. :loop
  5. set bbb=%mmm:~0,1%%bbb%
  6. set mmm=%mmm:~1%
  7. if not "%mmm%"=="" goto loop
  8. if "%bbb%"=="%nnn%" (echo %nnn% 是回文数) else echo %nnn% 不是回文数
  9. pause
复制代码
技术问题请到论坛发帖求助!

TOP

返回列表