本帖最后由 abcdshenji 于 2011-3-20 03:03 编辑
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
随风大哥是这样写的:- @echo off&setlocal EnableDelayedExpansion
-
- for /l %%a in (101 1 200) do (
-
- set /a n=%%a-1&set "flag="
-
- for /l %%b in (2 1 !n!) do (
-
- set /a m=%%a%%%%b
-
- if !m! equ 0 set flag=a
-
- )
-
- if not defined flag echo 素数 %%a
-
- )
-
- echo\&pause
复制代码 youxi01大哥这样写:- @echo off&setlocal EnableDelayedExpansion
-
- for /l %%a in (101 2 200) do (
-
- set "flag="
-
- for /l %%b in (3 2 15) do (
-
- set /a m=%%a %% %%b
-
- if !m! equ 0 set flag=A
-
- )
-
- if not defined flag echo 素数 %%a
-
- )
-
- echo\&pause
复制代码 第一个例子平方根为什么是%%a-1?第二个例子又为什么在(3 2 15)范围循环? |