[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
不能避免重复的,例如:3^2+4^2=5^2    4^2+3^2=5^2,请高手指正!
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 100) do (
  3.     set /a s1=%%i*%%i
  4.         for /l %%j in (1 1 100) do (
  5.             set /a s2=%%j*%%j
  6.             set /a s3=!s1!+!s2!   
  7.                 for /l %%k in (1 1 100) do (
  8.                     set /a s4=%%k*%%k
  9.                     if "!s4!"=="!s3!" echo %%i^^^^2+%%j^^^^2=!s4!
  10. )
  11. )
  12. )
  13. pause
复制代码

[ 本帖最后由 keen 于 2009-4-2 13:54 编辑 ]
(*^_^*)

TOP

11楼的想法跟我今天才想到得一样。避免了重复。修改9楼代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 100) do (
  3.     set /a s1=%%i*%%i
  4.         for /l %%j in (%%i 1 100) do (
  5.             set /a s2=%%j*%%j
  6.             set /a s3=!s1!+!s2!
  7.                 for /l %%k in (1 1 100) do (
  8.                     set /a s4=%%k*%%k
  9.                     if "!s4!"=="!s3!" echo %%i^^^^2+%%j^^^^2=!s4!
  10. )
  11. )
  12. )
  13. pause
复制代码
但是效率还是低下,期待高手给出效率高的代码。

[ 本帖最后由 keen 于 2009-5-12 18:54 编辑 ]
(*^_^*)

TOP

返回列表