zjimmy
发表于 2010-3-1 09:06:49
没有什么好思路,只想到土方法解决...
gapkiller
发表于 2010-3-1 12:05:47
50ms的算法.....
Dim $str='', $start=TimerInit()
For $z=5 To 100 ; 3个数中最大的数
For $x=3 To (($z^2)/2)^0.5 ; 3个数中最小的数
$y = ($z^2-$x^2)^0.5
If IsInt($y) Then $str&=$x&' '&$y&' '&$z&@LF
Next
Next
MsgBox(0,TimerDiff($start),$str)
lsf1012
发表于 2010-3-1 15:39:38
我是来学习的
pusofalse
发表于 2010-3-1 15:48:59
回复 48# gapkiller
gapkiller兄测试50ms吗?在我机器上测试16ms,算法果真强大,学习了!
gapkiller
发表于 2010-3-1 16:15:29
回复gapkiller
gapkiller兄测试50ms吗?在我机器上测试16ms,算法果真强大,学习了!
pusofalse 发表于 2010-3-1 15:48 http://www.autoitx.com/images/common/back.gif
我的是上网本,可能比较慢哈...
yangdai
发表于 2010-3-1 18:04:38
dim$StartTime=TimerInit()
dim$m = 100
dim$ary[$m+1]
for$i=1to $m
$ary[$i]=$i
next
$s=""
FOR $i=3 to0.707*$m
$ii=$i*$i
FOR $j=$i+1 to$m-3
$k=($ii+$j*$j)^.5
if $k>$mthen exitloop
if $ary[$k]=$kthen$s&=$i & " " &$j & " " & $k& @CRLF
Next
Next
MsgBox(0,"已用:"&TimerDiff($StartTime),$s)
10 MS
zouyingj
发表于 2010-3-1 22:31:05
多谢楼主对我们新人的关心!
zouyingj
发表于 2010-3-1 23:03:44
13楼的方法不错,支持
maple
发表于 2010-3-2 09:16:06
新人路过,不懂,学习下了
lpxx
发表于 2010-3-2 10:00:11
确实,当编程基本功已经扎实,编程技巧日趋熟练,程序的执行效率便又成为程序员一道“门槛”
没有知道
发表于 2010-3-2 14:21:36
:face (3):数学题,弱项:face (3):
rolaka
发表于 2010-3-2 16:56:00
本帖最后由 rolaka 于 2010-3-2 17:08 编辑
$time = TimerInit()
$r = ""
For $a = 1 To 100
For $b = $a+1 To 100
$c = ($a^2+$b^2)^0.5
If $c <= 100 Then
If ($c & ".1")*1 == $c & ".1" Then
$r &= $a & ' ' & $b & ' ' & $c & @CRLF
EndIf
EndIf
Next
Next
MsgBox(0, TimerDiff($time), $r)
autoit变量类型超乱- - 那就投机取巧一回
Y的au3你就类型乱转把:face (21):
r98543
发表于 2010-3-2 17:27:23
"IsInt",
我学到了这个,哈哈!
C.L
发表于 2010-3-2 22:38:42
各位的代码很精彩,学习了。
C.L
发表于 2010-3-3 00:36:16
我也来练习一下另类的思路,尝试前面的大大没能提供的算法,可能很少人会这样求勾股,呵呵
Dim $t = TimerInit()
$pi = 3.14159265358979
$du = $pi / 180
$result = ""
$temp = 0
For $z = 5 To 100
For $d = 1 To 45
$y = Cos($d * $du)
$b = Int($y * $z)
If $b == $temp Then ContinueLoop
$a = ($z ^ 2 - $b ^ 2) ^ 0.5
If $a > $b Then ContinueLoop
If IsInt($a) Then
$result &= $a & " " & $b & " " & $z & @CRLF
$temp = $b
EndIf
Next
Next
MsgBox(0, TimerDiff($t) & "MS", $result)