lanfengc 发表于 2010-2-27 16:05:41

回复 30# afan

但是会出现漏算的问题。

afan 发表于 2010-2-27 16:06:47

回复 31# lanfengc


    举例说明,漏了哪个

netegg 发表于 2010-2-27 17:20:11

不是最高效的,但一定是最精简的...180ms左右
**** 本内容被作者隐藏 ****
gapkiller 发表于 2010-2-27 14:10 http://www.autoitx.com/images/common/back.gif

StringLen这个函数不让用

gapkiller 发表于 2010-2-27 18:49:17

StringLen这个函数不让用
netegg 发表于 2010-2-27 17:20 http://www.autoitx.com/images/common/back.gif


    我又没说要去拓展...

lin0308 发表于 2010-2-27 19:13:23

看看什么号东西

pusofalse 发表于 2010-2-28 08:12:27

感谢诸位参与。这两天在忙一些无聊的事情,没能及时回复诸位,抱歉至极。
诸位的代码都十分精彩,学习了~!
以下是我自己的解:
Local $vTimer = TimerInit(), $iX = 100, $aVal[($iX ^ 2) * 2 + 1], $sResult

For $i = 1 To $iX
        $aVal[$i ^ 2] = $i
Next

For $i = 1 To $iX
        For $j = $i + 1 To $iX
                If $aVal[$i ^ 2 + $j ^ 2] Then
                        $sResult &= $i & " " & $j & " " & $aVal[$i ^ 2 + $j ^ 2] & @CRLF
                EndIf
        Next
Next
Msgbox(0, TimerDiff($vTimer), $sResult)

laojikelly 发表于 2010-2-28 11:57:07

what's 勾古数

lanfengc 发表于 2010-2-28 12:54:40

本帖最后由 lanfengc 于 2010-2-28 12:56 编辑

回复 37# pusofalse


    经典!表驱动法?

个人 理解
将数组中下标为 1到 100的平方的每个元素赋值成1到 100.
然后,判断$i ^ 2 + $j ^ 2 该元素是否为空。 如果不为空,则输出到结果中。如果为空,继续下次循环。

利用的是查表的方法。 不知道对不?

gapkiller 发表于 2010-2-28 13:24:37

感谢诸位参与。这两天在忙一些无聊的事情,没能及时回复诸位,抱歉至极。
诸位的代码都十分精彩,学习了~! ...
pusofalse 发表于 2010-2-28 08:12 http://www.autoitx.com/images/common/back.gif


其实最外面一层循环从1到70就够了
如果直角三角形的斜边<=100, 那么短的直角边一定<=70
因为 (71^2+71^2)^0.5>100

auto 发表于 2010-2-28 17:22:48

路过,看看各位的思路

haixian000 发表于 2010-2-28 19:01:13

学习学习再学习 脑子早就锈逗了 只有旁观的份

Repece 发表于 2010-2-28 19:27:56

看看大家的算法。

myrsb 发表于 2010-2-28 20:01:21

初学者,学习一下

yangdai 发表于 2010-2-28 21:21:57

本帖最后由 yangdai 于 2010-2-28 22:50 编辑

dim$StartTime=TimerInit()
$s=""
FOR $i=1to66
$ii=$i*$i
FOR $j=$ito100
      $q=($ii+$j*$j)^.5
      if $q>100    then
         exitloop
      endif
   FOR $k=$jto$i+$j-1
         if$k=$qthen
             $s &= $i & " " &$j & " " & $k & @CRLF
         endif
   Next
Next
Next
MsgBox(0,"已用:"&TimerDiff($StartTime),$s)

haorui658 发表于 2010-2-28 21:38:03

回复 1# pusofalse


    学习一下各位的代码
页: 1 2 [3] 4 5
查看完整版本: 练习004 - 计算100以内的勾股数