gpt4 book ai didi

序列填充数字的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:43 26 4
gpt4 key购买 nike

我有一个通过以下查询获得的记录集:

SELECT DISTINCT [Number] FROM NUMBERS WHERE CODE = 7 ORDER BY [Number]

因此 Recordset 将是一个有序数字列表,例如。 [6,14,37,59,81,145]

我想生成一长串仅由 0 和 1 组成的数字,其中除记录集中数字指定的位置外均为 0:例如。 6、14、37、59 等

因此结果看起来像这样:

000000000000000000100000000000000000000001000000000000000000001000000 etc

假设 rs 是 Recordset,到目前为止我有以下代码。这行得通吗?

intLower = 1
While Not (rs.BOF Or rs.EOF)
intUpper = rs!Number
For intSlot = intLower To intUpper
strOutput = strOutput & IIf(rs!Number = intSlot, 1, 0)
Next intSlot
rs.moveNext
intLower = intUpper + 1
Wend

注意:我意识到这与我之前的一个问题类似,但我现在想问的是当数字包含在 Recordset 中时如何做到这一点。另请注意,我不想使用将记录集转换为数组的函数,因为我使用的是 DAO,显然 GetRows 有问题。

最佳答案

怎么样;

dim value as long
dim result as String

do while not rs.EOF
value = rs!Number
If (value > Len(result)) then result = result & String$(value - Len(result), "0")
Mid$(result, value, 1) = "1"
rs.moveNext
loop
msgbox result

按排序进行编辑;

dim result as String

do while not rs.EOF
result = result & String$(rs!Number - Len(result) - 1, "0") & "1"
rs.moveNext
loop
msgbox result

关于序列填充数字的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com