找回密码
 加入
搜索
查看: 2034|回复: 3

[效率算法] 请高手帮忙做个杀和值的小工具

  [复制链接]
发表于 2012-1-10 19:26:43 | 显示全部楼层 |阅读模式
请高手帮忙做个杀和值的小工具
我有些三位数字,如123、123、213、456、789、687、952等等数字,我想把和一样数字册除掉。册除和每次不同。所以册除和值必须能调动的。(例:这次我要册除和值6的数字,就把213、123、321数组册除,下次我要册除和值15,就把456数组册除)。
谢谢高手能帮忙。
发表于 2012-1-10 19:41:59 | 显示全部楼层
做个和判断,,如果达到要求就删除,,没达到就保留。。
发表于 2012-1-10 20:03:38 | 显示全部楼层
这东西不是高手也能做出来的. 估计你对基本语法还不够熟悉吧.
希望能给你一点启发.
#include <array.au3>
Local $array[3] = [123, 321, 456]
For $i = 0 To 2
        If _CheckNum($array[$i], 6) Then $array[$i] = ''
Next
_ArrayDisplay($array, 'The Result')        

Func _CheckNum($num, $sum)
        If Not StringIsDigit($num) Then Return False
        If StringLen($num) <> 3 Then Return False
        Local $x = StringLeft($num, 1)
        Local $y = StringMid($num, 2, 1)
        Local $z = StringRight($num, 1)
        If $x + $y + $z = $sum Then Return True
EndFunc
发表于 2012-1-10 20:04:44 | 显示全部楼层
LZ也是老会员了,怎么帖子全是请别人帮忙做题呢?
#include <Array.au3>

Local $Val = 6
Local $str = '123,123,213,456,789,687,952'

Local $sNew = StringRegExpReplace($str, '(?<=\d)\d', '+$0')
Local $aSS = StringSplit($str, ',', 2)
Local $aNew = StringSplit($sNew, ',', 2)
Local $x = 0
For $i = 0 To UBound($aSS) - 1
        If Execute($aNew[$i]) = $Val Then
                _ArrayDelete($aSS, $i - $x)
                $x += 1
        EndIf
Next
_ArrayDisplay($aSS, '')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 19:00 , Processed in 0.095094 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表