[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 17# cjiabing


    额
   下面的再帮忙看看......
  1. @echo off&setlocal enabledelayedexpansion&echo 2 是质数&(for /l %%a in (3,2,1000) do call:1 %%a)&echo 计算完成&pause>nul&exit
  2. :1
  3. set a=32&if %1 lss 32 set /a a=%1-1
  4. for /l %%b in (3,2,!a!) do (
  5.   set /a i=%1%%%%b
  6.   if "!i!"=="0" (set $%1=.&goto 2)
  7. )
  8. :2
  9. if not defined $%1 echo %1 是质数
复制代码

TOP

回复 16# jinzeyu


    还是不行,还有:33 不是质数,35 不是质数
你用2、3、和5来作为最基本的除数来处理。质数或素数是一个不被其他整数整除的,33能被3整除,所以不是。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 jinzeyu 于 2012-2-26 19:37 编辑

回复 14# cjiabing


    哦 抱歉 代码写错了
  下面是正确代码
  1. @echo off&setlocal enabledelayedexpansion&echo 2 是质数&(for /l %%a in (3,2,1000) do call:1 %%a)&echo 计算完成&pause>nul&exit
  2. :1
  3. set a=32&if %1 lss 32 set /a a=%1-1
  4. for /l %%b in (3,2,!a!) do (
  5.   set /a i=%1%%%%b
  6.   if "!i!"=="0" (set $%1=.&goto 2)
  7. )
  8. :2
  9. if not defined $%1 echo %1 是质数
复制代码

TOP

回复 11# RuiIsRui


    你的没有看见前面几个呢
  1. 质数0.素数:13
  2. 质数1.素数:17
  3. 质数2.素数:19
  4. 质数3.素数:23
  5. 质数4.素数:29
  6. 质数5.素数:31
  7. 质数6.素数:37
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 10# jinzeyu


    后面的应该对,但开头被你漏掉好多个了:
  1. 2 是质数
  2. 37 是质数
  3. 41 是质数
  4. 43 是质数
  5. 47 是质数
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 7# applba


    结果是
  1. 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57
  2. 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
复制代码

     9能被3除不属于素数。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 9# find

    谢谢您的链接!我的都忘记搜索了。
    有跟学跟学会跟还记得的关系可没有多大的关联了,特别是用批处理来表达幂,这种体力活还是留给专业的plp626合适!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 RuiIsRui 于 2012-2-26 20:42 编辑

11 以下的5个数不在............我是写来算6位质数的,改给你用了
  1. @echo off&setlocal Enabledelayedexpansion
  2. set/a MinShu=10
  3. set/a MaxShu=1000
  4. set/a N=0
  5. for /l %%i in (%MinShu%,1,%MaxShu%) do (
  6. set/a JShu=%%i
  7. call:AA
  8. )
  9. echo %MinShu% ~ %MaxShu% 有 %N% 个质数
  10. pause
  11. exit
  12. :AA
  13. for %%i in (2,3,5,7,11) do (
  14. set/a b=%JShu%%%%%i
  15. if "!b!"=="0" GOTO:eof
  16. )
  17. set/a MinShu2=%JShu%/10
  18. for /l %%i in (12,1,%MinShu2%) do (
  19. set/a d=%JShu%%%%%i
  20. if "!d!"=="0" GOTO:eof
  21. )
  22. echo 质数%N%.素数:%JShu%
  23. set/a N+=1
  24. GOTO:eof
复制代码
天行健  君子以自强不息

TOP

本帖最后由 jinzeyu 于 2012-2-26 19:38 编辑
  1. @echo off&setlocal enabledelayedexpansion&echo 2 是质数&(for /l %%a in (3,2,1000) do call:1 %%a)&echo 计算完成&pause>nul&exit
  2. :1
  3. set a=32&if %1 lss 32 set /a a=%1-1
  4. for /l %%b in (3,2,!a!) do (
  5.   set /a i=%1%%%%b
  6.   if "!i!"=="0" (set $%1=.&goto 2)
  7. )
  8. :2
  9. if not defined $%1 echo %1 是质数
复制代码

TOP

回复 8# cjiabing


初中数学课本上就已经有幂运算了吧

TOP

RSA算法,要进行幂运算,数学盲,还是等plp626来解决算了!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 applba 于 2012-2-27 19:03 编辑
  1. @echo off
  2. SETLOCAL EnablEdElayEdExpansion
  3. for /l  %%a in (3,1,100) do (
  4.     set /a flag=1
  5.     set /a  n=%%a-1
  6.     for /l %%A in (2,1,!n!) do (
  7.         set /a r=%%a %% %%A
  8.         if !r! equ 0 ( set /a flag=0 )
  9.     )
  10.     if !flag! equ 1  set "s=!s! %%a"
  11. )
  12. echo %s%
  13. pause
复制代码

TOP

回复 4# ivor


    谢谢大家!~我正在弄,把普通字符翻译成素数,然后将素数的解因子做成密钥,就可以成为密码了!~
    想了一个晚上哦。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  1. Input: an integer n > 1
  2. Let A be an array of Boolean values, indexed by integers 2 to n,
  3. initially all set to true.
  4. for i = 2, 3, 4, ..., while i ≤ n/2:
  5.   if A[i] is true:
  6.     for j = 2i, 3i, 4i, ..., while j ≤ n:
  7.       A[j] = false
  8. Now all i such that A[i] is true are prime.
复制代码

TOP

说实话我还不知道怎么利用素数用与密码

TOP

返回列表