有些日子没来了,来请教个问题,数字生成。
从201900001开始,按+1的顺序连续生成50000个数字,含4的全部跳过。好多函数都忘得一干二净了,求指教。
本帖最后由 afan 于 2019-6-24 20:17 编辑
Local $sNum = 201900001 & @LF
For $ii = 1 To 50000
$sNum &= 201900001 + $ii & @LF
Next
Local $aNum = StringRegExp($sNum, "(?m)^[^4\v]+$", 3)
MsgBox(0, '数组数量', UBound($aNum)) 老大,十来年过去了,忘得差不多了。。。
做回伸手党,需要导出到txt :face (11): 主要是客户在我这做了5万张会员卡,卡号就是这么排的,要跳4,工厂只管印刷,不管给我卡号,客户那边又需要卡号录入系统。唉。 大恩就不言谢了。:face (11): 本帖最后由 afan 于 2019-6-25 10:07 编辑
Local $sNum = 201900001 & @CRLF
For $ii = 1 To 50000
$sNum &= 201900001 + $ii & @CRLF
Next
$sNum = StringRegExpReplace($sNum, "(?m)^\d*?4\d*\v+", '')
FileWrite('不含4.txt', $sNum)
如果要达到 50000 条,改为 For $ii = 1 To 86625 范统.贾 发表于 2019-6-24 20:20
老大,十来年过去了,忘得差不多了。。。
做回伸手党,需要导出到txt
你得找找忘得差不多了的原因,是不是名字没起好…… 反正,总之,谢谢了。:face (11): $a = 201900001
$txt_name = FileOpen('1.txt', 1)
FileWrite($txt_name, $a & @CRLF)
For $i = 1 To 5000
$a = $a + 1
If StringInStr($a, '4') > 0 Then
Do
$a = $a + 1
Until StringInStr($a, '4') = 0
EndIf
FileWrite($txt_name, $a & @CRLF)
Next
FileClose($txt_name) niqindong 发表于 2019-6-25 09:31
$a = 201900001
$txt_name = FileOpen('1.txt', 1)
FileWrite($txt_name, $a & @CRLF)
楼主,我这个应该可以直接生成5000个,具体4999还是5001,你自己看一下吧。 进来学习一下。 Local $iNum = 201900001
Local $sRet = $iNum & @CRLF
Local $n = 1
While $n < 50000
$iNum += 1
If StringInStr($iNum, '4') Then ContinueLoop
$sRet &= $iNum & @CRLF
$n += 1
WEnd
ConsoleWrite($sRet & @CRLF) 实用的计算啊
页:
[1]